Hallo Leute,
ich arbeite zur Zeit an meinem Terminmanager, er befindet sich bereits im Betastatus. Mein Problem ist folgendes:
Das Programm läuft auf Wunsch im Hintergrund, und prüft jede Stunde die gesamte Termindatenbank ab ob ein Termin bevorsteht. (die Abfrageroutine befindet sich in einer Schleife, in der danach ein Sleep von genau einer Stunde eingebaut ist), Wenn das der Fall ist, erscheint eine Messagebox, die darauf hinweist. Aber während das Programm im Hintergrund läuft, soll es mittels einer Tastenkombination wieder aufgerufen werden können. Man erahnt es, ich muss also sämtliche Eingaben systemweit abfangen können. Dazu habe ich die API - Funktion "GetAsyncKeyState" genommen. Soweit klappt das ja ganz gut.
Das Problem ist aber, dass das gesamte Programm wegen dem 'Sleep' komplett pausiert wird, worauf die Tastenabfrage auch nicht mehr greift. Der Code dazu sieht folgendermaßen aus:
Alles anzeigen
Bei gedrückter Taste wird der jeweilige ASCII - Code zurückgegeben.
Und hier die (vereinfachte) Abfrageschleife:
Ich hoffe, ich habe euch das (einigermaßen) verstämdlich erklärt, da das Zeug mittlerweile doch etwas komplex geworden ist
Achso, und das Programm könnt ihr euch bei meiner Homepage runterladen.
http://codingarena.co.funpic.de
ich arbeite zur Zeit an meinem Terminmanager, er befindet sich bereits im Betastatus. Mein Problem ist folgendes:
Das Programm läuft auf Wunsch im Hintergrund, und prüft jede Stunde die gesamte Termindatenbank ab ob ein Termin bevorsteht. (die Abfrageroutine befindet sich in einer Schleife, in der danach ein Sleep von genau einer Stunde eingebaut ist), Wenn das der Fall ist, erscheint eine Messagebox, die darauf hinweist. Aber während das Programm im Hintergrund läuft, soll es mittels einer Tastenkombination wieder aufgerufen werden können. Man erahnt es, ich muss also sämtliche Eingaben systemweit abfangen können. Dazu habe ich die API - Funktion "GetAsyncKeyState" genommen. Soweit klappt das ja ganz gut.
Das Problem ist aber, dass das gesamte Programm wegen dem 'Sleep' komplett pausiert wird, worauf die Tastenabfrage auch nicht mehr greift. Der Code dazu sieht folgendermaßen aus:
Quellcode
Bei gedrückter Taste wird der jeweilige ASCII - Code zurückgegeben.
Und hier die (vereinfachte) Abfrageschleife:
Quellcode
- void HideConsole ()
- {
- while (Keylogger () != 97) // In diesem Fall entspricht dies der Taste 'a'
- {
- //Hier die Abfrageroutine .....
- //Und nun das Sleep :
- Sleep (3600000); //Ab hier 'schläft' das gesamte Programm, auch die tasten werden nicht mehr abgefragt.
- //Jetzt wird die Abfrage erneut gestartet ... (In diesem Zeitraum funzt die Tastaturabfrage logischerweise, allerdings nur ein paar Millisekunden)
- }
- }
Ich hoffe, ich habe euch das (einigermaßen) verstämdlich erklärt, da das Zeug mittlerweile doch etwas komplex geworden ist

http://codingarena.co.funpic.de