Ich bin gerade dabei, einen kleinen Screenshotmanager (
zu schreiben.
Der folgende Code funzt auch eigentlich, aber
ich hab 100% CPU-Auslastung.
D.h. man kann es bei keinem Spiel im Hintergrund laufen lassen.
Was hab ich falsch gemacht ?
(bestimmt den Timer falsch angewendet, denk ich mal)`
Code: Alles auswählen
Global Speicher.l
Speicher = 1
Zufallsname.l
Bilderanzahl.l = 0
Procedure Screenshot(ImageNr,x,y,Width,Height)
hImage = CreateImage(ImageNr,Width,Height)
hDC = StartDrawing(ImageOutput())
DeskDC = GetDC_(GetDesktopWindow_())
BitBlt_(hDC,0,0,Width,Height,DeskDC,x,y,#SRCCOPY)
StopDrawing()
ReleaseDC_(GetDesktopWindow_(),DeskDC)
ProcedureReturn hImage
EndProcedure
Procedure gadgetname()
Speicher + 2
EndProcedure
OpenWindow(0,0,0,200,200,#PB_Window_Invisible,"")
StartTimer(1,2000,@gadgetname())
Repeat
Zufallsname = Random(99999)
Name$ = Str(Zufallsname)
For a = 0 To 150 Step 3
If Speicher = a
Screenshot(0, 0, 0, 1024, 768)
SaveImage(ImageNr, "C:\" + Name$ + ".bmp")
Speicher + 1
Bilderanzahl + 1
EndIf
Next
If Bilderanzahl = 10
End
EndIf
ForEver