Bildschirmschonder
Also ich habe meinen Bildschirmschoner deaktiviert, das ist keine gute Idee... (das programm so auszustatten)
"Ruhezustand" ermitteln
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Das setzt aber mindestens Windows 2000 voraus. Gibt es eine Möglichkeit diese Funktion auf Windows ME/98 zu simulieren oder nachzubauen?bingo hat geschrieben:Code: Alles auswählen
Structure tagLASTINPUTINFO cbSize.l dwTime.l EndStructure PLASTINPUTINFO.tagLASTINPUTINFO PLASTINPUTINFO\cbSize=SizeOf(PLASTINPUTINFO) For i=1 To 10 ;move mouse or click key ... GetLastInputInfo_(@PLASTINPUTINFO) Debug PLASTINPUTINFO\dwTime Delay(2000) Next
cu, helpy
- Tsuki-Namida
- Beiträge: 633
- Registriert: 17.11.2005 13:27
- Kontaktdaten:
So ich habe ja noch kaum ahnung von PB (Soll sich mit der Zeit ändern
).
Aber es gibt eine möglichkeit um fest zu stellen ob die Tastator und/oder Maus inaktiv sind und das bei win 9x und 2k
Schon mal was vom Geplanten Tast gehört?
Man kann damit Programme Zeitversetzt starten oder man stellt es so ein das eine gewisse Zeit die Tastatur und/oder Maus keine Aktivität aufweist. Das funktioniert ähnlich wie der Bildschirmschoner nur noch lange nicht so belastend

Aber es gibt eine möglichkeit um fest zu stellen ob die Tastator und/oder Maus inaktiv sind und das bei win 9x und 2k
Schon mal was vom Geplanten Tast gehört?
Man kann damit Programme Zeitversetzt starten oder man stellt es so ein das eine gewisse Zeit die Tastatur und/oder Maus keine Aktivität aufweist. Das funktioniert ähnlich wie der Bildschirmschoner nur noch lange nicht so belastend

Hallo an alle,
Hier eine Möglichkeit, die auch auf Windows 98/ME funktionieren sollte. Entwickelt hab' ich es auf Windows XP ... auf 98/ME muss ich das noch testen:
Vielleicht kann das der eine oder andere ja gebrauchen.
Sieht noch jemand Fehler ... (bis auf manche Fehlertests, die ich jetzt nicht eingebaut habe)
cu, helpy
Hier eine Möglichkeit, die auch auf Windows 98/ME funktionieren sollte. Entwickelt hab' ich es auf Windows XP ... auf 98/ME muss ich das noch testen:
Code: Alles auswählen
;{ Include file: IdleTime.pbi
#IdleTime_SampleTime = 100 ; Abtastzeit in ms
Procedure IdleTime() ; Idle Time in ms
Protected i.l, NewMousePos.POINT
Static LastInputTrue.l
Static IdleTime.l
Static LastMousePos.POINT
Static hMutex.l
Static Init.l
If Init = 0
hMutex = CreateMutex_(#Null, #False, #Null )
LastInputTrue = ElapsedMilliseconds()
Init = 1
EndIf
WaitForSingleObject_(hMutex,#INFINITE) ; wait until object is available
;Check mouse movement
GetCursorPos_(NewMousePos)
If ((NewMousePos\x <> LastMousePos\x) Or (NewMousePos\y <> LastMousePos\y))
LastMousePos\x = NewMousePos\x
LastMousePos\y = NewMousePos\y
LastInputTrue = ElapsedMilliseconds()
Else ;Check keys state
For i = 0 To 255
If (GetAsyncKeyState_(i) & $8001) <> 0
LastInputTrue = ElapsedMilliseconds()
Break
EndIf
Next i
EndIf
IdleTime = (ElapsedMilliseconds() - LastInputTrue)
ReleaseMutex_(hMutex)
ProcedureReturn IdleTime
EndProcedure
Procedure IdleTime_Thread(IdleTime_Delay.l)
Repeat
IdleTime()
Delay(IdleTime_Delay)
ForEver
EndProcedure
CreateThread(@IdleTime_Thread(),#IdleTime_SampleTime)
;} End of include file: IdleTime.pbi
;{ Test program
; XIncludeFile "IdleTime.pbi"
; zum testen hatte ich alles in einer PB-Datei
OpenConsole()
InitKeyboard()
Repeat
Debug IdleTime()
PrintN(Str(IdleTime()))
Delay(1000)
Until Left(Inkey(),1) = Chr(27)
;} End of test program
Sieht noch jemand Fehler ... (bis auf manche Fehlertests, die ich jetzt nicht eingebaut habe)
cu, helpy