Zum Inhalt springen

C#: Aktives Programm fernsteuern


Antibiotik

Empfohlene Beiträge

Hallo zusammen,

ich verwende Printkey2000 um Screenshots zu erstellen. Beim Klicken auf die .exe wird das Programm gestartet und ist als Icon Taskleiste (neben der Windows Uhr) zu sehen. Beim Klick auf das Symbol oder betätigen der "Druck" Taste wird ein Screenshot erstellt.

Ich möchte dieses Programm nun aus C# fernsteuern, d.h. beim Klick auf einen Button in meiner C# Anwendung will ich mit dem Printkey Programm ein Screenshot erstellen.

Ne Idee wie ich es lösen kann?

Danke

Ciao

Antibiotik

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

? was macht das program? speichert es dir das bild direkt irgendwo ? weil kannst ja auch so einfach in windows ohne solche proggys mit druck screenshots machen...

aber egal zurück zum thema. hat das program irgendwelche parameter die du ihm übergeben kannst ?( mal in der hilfe von dem proggy lesen.. )

wenn ja könntest du es einfach als cmd befehl starten und den benötigten parameter mitgeben um den screenshot zumachen..

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also,

- Screenshot machen kenne ich nur mit der WinSDK - und da ist es ziemlich trivial.

- anzeige mit C# --> PictureBox

- drucken mit C# --> PrintDialog und im Callback Graphics.drawImage oder so

- speichern mit C# --> OpenDialog und Bitmap.save

sind nicht so komplizierte Dinge, da die meisten Funktionen bereits als Steuerelement zu bekommen sind. Ist also imho sogar einfacher als Printkey 'fernzusteuern'.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nein, leider nicht.

Aber:

1) Drucken-Dialog und Dokument hinzufügen.

2) Beim Dialog das Dokument festlegen (irgendwo in den Eigenschaften).

3) Event vom Dokument (imho PrintPage) hinzufügen.

4) Mit dem Graphics Objekt aus dem EventArgs das Bild auf der Seite platzieren.

alles zusammen würde ich vieleicht 15min einplanen - hab das aber auch schon ein paar mal gemacht. Etwas komplizierter wird das ganze, wenn sich das Bild über mehrere Seiten erstrecken soll.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also wenn du die Form deiner applikation drucken möchtest kannst du das Graphics über CreateGraphics() von der Form abrufen.

Wenn der druck kram von C# (hab noch nie gedruckt) ein image haben möchte (wo von ich ausgehe) kann man den Graphic mittels

BitBlt kopieren:


/// <summary>

/// BitBlt

/// </summary>

[DllImport("gdi32.dll", ExactSpelling=true, SetLastError=true)]

public static extern bool BitBlt(IntPtr hObject,int nXDest,

                                   int nYDest,

                                   int nWidth,

                                   int nHeight,

                                   IntPtr hObjSource,

                                   int nXSrc,

                                   int nYSrc,

                                   TernaryRasterOperations dwRop);


Graphics gr = Form.CreateGraphics(); //Graphics von der Form erstellen lassen

IntPtr pGr = gr.GetHdc(); //Pointer auf den Hdc

BitMap bmp = new BitMap(Form.Width,Form.Height); // Neues Bitmap erstellen => Ziel

Graphics tmpGr = Graphics.FromImage(bmp); //Temp Graphics für das BitMap

IntPtr pTmpGr = tmpGr.GetHdc(); //Pointer vom tmpGraphis

BitBlt(pTmpGr,0,0,Form.Width,Form.Height,pGr,0,0,0x00CC0020); //Graphic inhalt kopieren

gr.ReleaseHdc(pGr); //Hanleds wieder releasen

tmpGr.ReleaseHdc(pTmpGr);

gr.Dispose();//Disposen

tmpGr.Save();

tmpGr.Dispose();


bmp ///Bitmap von der Form

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...