| |
|
|
| KompilierenMarqueSéparationSource wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
ScreenShot: ScreenShot des Bildschirms oder eines einzelnen Fensters erstellen
PRFellow-Vorlage
Autor: Thomas Hölzer,1999
ScreenShot des Bildschirms oder eines einzelnen Fensters erstellen
Falls ein Programm zum Symbol verkleinert ist, wird es
kurz angezeigt und nach dem Foto wieder verborgen.
Die erstellte Bitmap findet sich in der Zwischenablage
und kann von dort aus mit einfachen Profan-Befehlen
weiterverarbeitet werden.
Def keybd_event(4) !USER32,keybd_event
Def IsIconic(1) !USER32,IsIconic
Def CaptureScreen(0) keybd_event($2C,1,0,0)
Def CaptureActiveWindow(0) keybd_event($2C,0,0,0)
Def SetForegroundWindow(1) !USER32,SetForegroundWindow
Def Sleep(1) !KERNEL32,Sleep
Proc CaptureWindow
Parameters handle&
Declare iconic%
Case Neq(IsIconic(handle&),0): Let iconic%=1
ShowWindow(handle&,1)
SetForeGroundWindow(handle&)
Sleep(50) Zeit lassen, sich zum Fotografieren zurechtzumachen
CaptureActiveWindow()
Case iconic%: ShowWindow(handle&,2)
EndProc
Beispiel
Umweg über Speicher-Bitmap müßte nicht sein, soll aber zur
Demonstration dienen.
Für CaptureWindow-Bsp win32.hlp mit irgendeinem Thema starten!
CaptureWindow FindWindow(Win32 Programmers Reference)
CaptureScreen() Bildschirm einfangen
Cls
ShowMax
MCLS %maxX,%maxY Speicherbitmap erzeugen
StartPaint -1
ClipLoadBmp 0,0;0 eingefangenes Fensterbild in Speicherbmp kopieren
ClearClip Zwischenablage freigeben
EndPaint
MCopyBmp 0,0-%maxX,%maxY > 0,0;0 Speicherbmp ins Profanfenster kopieren
While 1
WaitInput
Wend
|
|
|
| |
|
|