Autor Beitrag
Hagis
Hält's aus hier
Beiträge: 12

Win 95, Win 2000
D2005 Pers
BeitragVerfasst: So 18.06.06 20:23 
hallo zusammen,
wie der Titel schon sagt, möchte ich den Tastatur LED Status abfragen, während die Anwendung minimiert ist.

ich minimiere mit folgendem code:
Application.Minimize;

und frage den Led status mit
GetKeyboardState(KeyboardState);
if KeyboardState[VK_CAPITAL]=1 then begin....

in einem onTimer Event (Ttimer) ab. (das Event wird auch ausgelöst)

das geht auch, wenn die Anwendung "voll" da ist , nur eben nicht wenn sie minimiert ist.
wie also den Tastatur LED Status abfragen, wenn die Anwendung minimiert ist?

gruss Hagis
Jakob Schöttl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 929
Erhaltene Danke: 1


Delphi 7 Professional
BeitragVerfasst: Mo 19.06.06 06:12 
Keine Ahnung,
Aber ich kann mir eigentlich bei so einer Funktion vorstellen, dass das an dem Minimierten zustand liegt.
Hagis Threadstarter
Hält's aus hier
Beiträge: 12

Win 95, Win 2000
D2005 Pers
BeitragVerfasst: Mo 19.06.06 08:07 
ja, es liegt sehr wahrscheinlich am minimieren zustand.
aber was meinst du mit "so einer Funktion"?
habs schon mit einer schleife versucht anstelle des Timers, geht aber auch nicht.

was bedeutet eigentlich minimieren zustand bei windows? bisher dachte ich, dass dabei nur das Formular ausgeblendet wird, doch anscheinend blockiert es auch einiege abfragen oder funktionen...

währe nett wenn mir das mal jemand erklähren könnte.

//edit: habs jetzt auch mal mit Application.ShowMainForm:=false anstelle des minimierens versucht, geht aber auch nich....

Gruss Hagis
Hagis Threadstarter
Hält's aus hier
Beiträge: 12

Win 95, Win 2000
D2005 Pers
BeitragVerfasst: Mo 19.06.06 20:58 
für alle, dies interessiert, ich habe das Problem nun wie folgt gelöst:
anstelle von minimieren:
Application.ShowMainForm:=false;
form1.Visible:=false;

und wiedr anzeigen:
application.BringToFront;
form1.Visible:=true;
Application.ShowMainForm:=true;


Das ganze habe ich nun über Systemweite Tastenkombinationen "geschaltet" (www.dsdt.info/tipps/?id=635)
vielleicht würde es mit LedStatus auch gehen. aber man müsste dazu wahrscheinlich die Anwendung dauernd Unsichtbar im Vordergrund haben, was auch nicht das wahre ist....

Gruss Hagis

P.S.: Sorry für den zweit-post, aber ich denke, die Lösung hats verdient