Zum Inhalt springen

C#: Aktives Programm fernsteuern


Empfohlene Beiträge

Geschrieben

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

  • 2 Wochen später...
Geschrieben

? 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..

Geschrieben

hallo,

wenn ich den screenshot mach, muss ich mich um die anderen sachen wie anzeigen, drucken, speichern auch selbst kümmern. Mit Hilfe der Anwendung muss ich das alles nicht machen.

Ciao

Antibiotik

Geschrieben

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'.

Geschrieben

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.

Geschrieben

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

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...