Seite 1 von 1

Aktives Fenster für "Screenshot" auswählen

Verfasst: 15.01.2011 09:21
von Ghosty1967
Hallo Forengemeinde...

Ich bastel gerade an einem eigenen kleinen Capture-Programm und möchte gerne folgendes realisieren.
Um einen screenshot von einem bestimmten geöffneten Fenster (z.B. Notepad) zu machen, möchte ich
gerne aus meinem Programm raus auf einen "Doppelklick" mit der Maus auf die "Titelleiste" des entsprechenden
Fenstern warten und danach dessen handle ermitteln um es als Bitmap in die Zwischenablage legen zu können.
Leider habe ich so garkeine Idee, wie ich das anstellen kann bzw. ob das überhaupt so geht, wie ich mir das denke.

Ich wäre sehr dankbar, wenn mir jemand Tipps oder Schnipsel geben könnte, wie ich hier weiter komme! :roll:

Hat sich erledigt... mir ist gerade eingefallen, das das Blödsinn ist, da ja jedes Fenster bei einem Doppelklick in die
Titelleiste maximiert wird :lol: :freak: . Ich werde das also über "RegisterHotKey_()" realisieren!
Dieser Beitrag kann dann also wieder gelöscht werden
Sorry, erst denken, dann schreiben :praise:

Re: Aktives Fenster für "Screenshot" auswählen

Verfasst: 15.01.2011 10:22
von rolaf

Code: Alles auswählen

Enumeration
  #imgCapture
EndEnumeration

Procedure CaptureWindow()
  GetWindowRect_(GetForegroundWindow_(), @r.rect)
  CreateImage(#imgCapture, r\right - r\left, r\bottom - r\top) 
  DC = StartDrawing(ImageOutput(#imgCapture)) 
    BitBlt_(DC, 0, 0, r\right - r\left, r\bottom - r\top, GetWindowDC_(GetForegroundWindow_()), 0, 0, #SRCCOPY)
  StopDrawing()
EndProcedure

Delay(5000)
CaptureWindow()
SetClipboardImage(#imgCapture)
Starten, Fenster das "erschossen" werden soll in den Vordergrund holen, kurz warten, Schuss ist in der Zwischenablage. :mrgreen:

Natürlich kann man den "Schuß" auch über die Funktion GetAsyncKeyState_() steuern.

Re: Aktives Fenster für "Screenshot" auswählen

Verfasst: 15.01.2011 11:50
von Kiffi
Ghosty1967 hat geschrieben:Dieser Beitrag kann dann also wieder gelöscht werden
hättest Du selber machen können, denn wenn noch niemand auf
Deinen Beitrag geantwortet hat, kannst Du ihn mit Klick auf den
'Löschen'-Button entfernen. Geht jetzt natürlich nicht mehr ;-)

Grüße ... Kiffi

Re: Aktives Fenster für "Screenshot" auswählen

Verfasst: 15.01.2011 13:10
von rolaf
Kiffi hat geschrieben:
Ghosty1967 hat geschrieben:Dieser Beitrag kann dann also wieder gelöscht werden
hättest Du selber machen können, denn wenn noch niemand auf
Deinen Beitrag geantwortet hat, kannst Du ihn mit Klick auf den
'Löschen'-Button entfernen. Geht jetzt natürlich nicht mehr ;-)

Grüße ... Kiffi
Ja, ich bin der böse Lösch-Blockierer. :lol:

Re: Aktives Fenster für "Screenshot" auswählen

Verfasst: 15.01.2011 14:18
von Kiffi
DrFalo hat geschrieben:Ja, ich bin der böse Lösch-Blockierer. :lol:
immerhin hast Du ihm eine Stunde und eine Minute Zeit gegeben,
es selber zu machen :-)

Grüße ... Kiffi

Re: Aktives Fenster für "Screenshot" auswählen

Verfasst: 15.01.2011 14:27
von Ghosty1967
Yep, isch hann de Lööschknopp mit gefunge!