Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

C#: Aktives Programm fernsteuern

Empfohlene Antworten

Veröffentlicht

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

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

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

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

hallo,

ok. Kann ich mit dem DruckDialog evtl. gleich die Form ausdrucken?

Danke

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.

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.