Autor |
Beitrag |
D. Annies
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Mo 18.02.08 15:19
Hi, Delpher,
ich brauche Hilfe bei folgendem Problem:
Welcher Code ist richtig, um z.B. ein Bild erscheinen zu lassen, nachdem 10 Minuten keine Taste gedrückt wurde, oder die Maus nicht bewegt wurde?
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| function KeyboardProc(nCode:integer; wParam:longint; lParam:longint):longint; stdcall; begin result := CallNextHookEx(KeyboardHook, ncode, wparam, lparam); form1.Timer1.enabled := false; form1.Timer1.enabled := true; end;
function MouseProc(nCode:integer; wparam: longint; var MouseHookStruct: TMouseHookStruct):longint; stdcall; begin form1.timer1.enabled := false; result := CallNextHookEx(MouseHook, nCode, wparam, longint(@MouseHookStruct)); form1.Timer1.enabled := true; end; |
Ich meine vor allem die TimerEreignisse. Was ist da richtig? Beidesmal wie in der oberen Function oder beidesmal wie in der unteren Function?
Wer kennt sich da aus und kann helfen?
Vielen Dank, Detlef A.
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mi 20.02.08 08:22
1. Warum probierst du es nicht einfach aus?
2. Ich glaube nicht, dass das einen Unterschied macht, denn die weiteren aufgerufenen Hooks via CallNextHookEx werden kaum besonders lange zur Verarbeitung brauchen (hoffentlich  ).
3. Bin ich mir nicht ganz sicher, dass das so überhaupt funktioniert wegen des Zugriffs auf die VCL. Oder funktionieren bei dir die Hooks im Hauptthread deiner Anwendung?
|
|
jasocul
      
Beiträge: 6393
Erhaltene Danke: 147
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Mi 20.02.08 10:11
D. Annies hat folgendes geschrieben: | Welcher Code ist richtig, um z.B. ein Bild erscheinen zu lassen, nachdem 10 Minuten keine Taste gedrückt wurde, oder die Maus nicht bewegt wurde? |
Soll das ein Bildschirmschoner werden? Da gibt es einfachere Möglichkeiten. Einfach mal danach suchen. Ist sicher schon mal im Forum behandelt worden.
|
|
D. Annies 
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Mi 20.02.08 20:07
Danke erstmal, Sebastian und Peter!
@Sebastian: Naja, hast ja recht, einfach ausprobieren. Aber du merkst schon, dass ich von Hooks nicht so die Ahnung habe.
@Peter: Im Prinzip hast du recht: Nach 10 Minuten Nichtstun soll ein Bild und eine erneute Passwortabfrage erscheinen.
Bin ich da auf dem richtigen Weg oder geht es einfacher?
Grüße von
Detlef
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mi 20.02.08 20:37
Erstens unterstützt Windows von sich aus eine Passwortabfrage beim Deaktivieren eines Bildschirmschoners durch Maus- oder Tastaturaktivität, und zweitens kann man sehr einfach einen Bildschirmschoner mit Delphi programmieren:
www.delphi-treff.de/tipps/system/tipp/363/
|
|
D. Annies 
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Do 21.02.08 17:01
Hi, Sebaszian,
habe mir deine Antwort angesehen, soweit ok.
Ich würde mich aber wohler fühlen, wenn du geschrieben hättest:
eine Passwortabfrage beim AKtivieren eines Bildschirmschoners durch Maus- oder TastaturDEaktivität.
Gruß, Detlef
|
|
Zorro
      
Beiträge: 76
Win 2000, Win XP Pro
Delphi 7 Architect
|
Verfasst: Fr 22.02.08 10:22
D. Annies hat folgendes geschrieben: | Hi, Sebaszian,
habe mir deine Antwort angesehen, soweit ok.
Ich würde mich aber wohler fühlen, wenn du geschrieben hättest:
eine Passwortabfrage beim AKtivieren eines Bildschirmschoners durch Maus- oder TastaturDEaktivität.
Gruß, Detlef |
Und wenn wir schon Korinthen... usw, dann korrekterweise:
Maus- oder TastaturINaktivität.
(Wobei meiner Ansicht nach die ursprüngliche Formulierung von Sebastian völlig richtig ist, denn der BS-Schoner wird durch Aktivität von Maus/Tasta DEAKTIVIERT, und genau DA setzt die Win-eingebaute PW-Abfrage ein...
Greetz
Zorro
|
|
D. Annies 
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Fr 22.02.08 12:39
Hi, Zorro,
danke für die Aufklärung / Belehrung - aber Korinthen... wollte ich nun ganz bestimmt nicht. Tut mir leid, wenn das so bei dir angekommen ist.
Grüße, Detlef
|
|
D. Annies 
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Fr 22.02.08 15:32
Nun, ich habe den Code einfach aktiviert, also die Kommentarklammern gelöscht, und siehe da, es geht. Aber leider habe ich nicht verstanden, warum - das ist mein eigentliches Problem.
Grüße, Detlef
|
|
Zorro
      
Beiträge: 76
Win 2000, Win XP Pro
Delphi 7 Architect
|
Verfasst: Fr 22.02.08 21:37
D. Annies hat folgendes geschrieben: | Hi, Zorro,
danke für die Aufklärung / Belehrung - aber Korinthen... wollte ich nun ganz bestimmt nicht. Tut mir leid, wenn das so bei dir angekommen ist.
Grüße, Detlef |
Ach, ist nicht so tragisch gemeint, denke, da sollte oben zu meinem Text noch n smiley dran.
Keep programming
Zorro
|
|
D. Annies 
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Fr 22.02.08 23:36
Gut, Zorro, let's keep on proramming!
Detlef 
_________________ ut vires desint, tamen est laudanda voluntas
|
|
|