Function IsKeyPressed (ASYNCKEY) Funzt nich...
Übersicht

![]() |
ReLeNtLeSSBetreff: Function IsKeyPressed (ASYNCKEY) Funzt nich... |
![]() Antworten mit Zitat ![]() |
---|---|---|
hallo leute,
ersma ein ENTSCHULDIGUNG an D2006 und weitere wegen meinen ersten Posts. Die wissen schon was ich meine ![]() Nun, kommen wir zu meinem Problem, ich hab versucht etwas zu Proggen, das im Hintergrund läuft und auf tastenmdrücke reagiert nun habe ich die iskeypressed function von david genommen, und die so eingebaut: Code: [AUSKLAPPEN] Const VK_F11% = $7A Const VK_F12% = $7B If IsKeyPressed( VK_F11 ) Then lpstrCommand$="Set CDaudio door open" mciExecute (lpstrCommand$) If IsKeyPressed( VK_F12 ) Then lpstrCommanda$="Set CDaudio door closed" mciExecute (lpstrCommanda$) Function IsKeyPressed( vKey% ) Return ( GetAsyncKeyState( vKey ) Shr 16 ) And 1 End Function Funktioniert auch, aber nur, wenn ich IM Fenster des Proggys bin, aber es soll ja auch ausserhalb probieren... kann mir BITTE wer helfen?[/b][/u] |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mit hooks.
normaler BlitzCode bleibt stehen wenn das fenster net aktiv is, wie sich das für Anwendungen gehört. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dreamora hat Folgendes geschrieben: normaler BlitzCode bleibt stehen wenn das fenster net aktiv is
Warum sollte das so sein? Das Beispiel funktioniert nämlich einwandfrei, wenn man die Tastenabfrage in eine Schleife tun würde. |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Stimmt, ohne Grafikfenster reagiert BM nicht auf den Suspend Event.
Mein Fehler, vergesse immer ma wieder das ein Grossteil der automatischen Eventreaktionen an das Graphics Fenster gebunden sind. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Suchst Du das jetzt für Blitzmax oder Blitzbasic. Einmal fragst Du hier, dann wieder dort... Es wäre gut wenn Du das klären würdest. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
ReLeNtLeSS |
![]() Antworten mit Zitat ![]() |
---|---|---|
sry is für blitzplus gemeint...
probiers ma mit schleife /edit: mein gesamter code: Code: [AUSKLAPPEN] AppTitle "DVDHotkey" Const VK_F11% = $7A Const VK_F12% = $7B window=CreateWindow("DVDHotkey",0,0,80,100) button1=CreateButton("Quit",0,0,80,20,window,1) Repeat If IsKeyPressed( VK_F11 ) Then lpstrCommand$="Set CDaudio door open" mciExecute (lpstrCommand$) If IsKeyPressed( VK_F12 ) Then lpstrCommanda$="Set CDaudio door closed" mciExecute (lpstrCommanda$) ereignis=WaitEvent() If ereignis=$401 And EventSource()=button1 Then End Forever Function IsKeyPressed( vKey% ) Return ( GetAsyncKeyState( vKey ) Shr 16 ) And 1 End Function funzt nich .... ![]() |
||
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Kann auch gar nicht gehen, weil
Code: [AUSKLAPPEN] ereignis=WaitEvent()
das Programm anhält, bis BlitzPlus ein Event schickt. Die Tastaturabfrage muss aber ständig ausgeführt werden. Um das Problem zu lösen, könntest du einen Timer erstellen und immer wenn er tickt, die IsKeyPressed-Funktion ausführen. |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
verschoben da falsches Board.
BM ist für BM net für die alten Blitz |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
ReLeNtLeSS |
![]() Antworten mit Zitat ![]() |
---|---|---|
ProGamer.Coder hat Folgendes geschrieben: Kann auch gar nicht gehen, weil
Code: [AUSKLAPPEN] ereignis=WaitEvent()
das Programm anhält, bis BlitzPlus ein Event schickt. Die Tastaturabfrage muss aber ständig ausgeführt werden. Um das Problem zu lösen, könntest du einen Timer erstellen und immer wenn er tickt, die IsKeyPressed-Funktion ausführen. Moment, wenn es daran liegt könnte ich den button auch einfach entfernen, der is nich notwendig... ich sag bescheit ob es klappt! |
||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
mach doch einfach Waitevent(100) das generiert nach 100 millisekunden automatisch ein $0 event | ||
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@Silver_Knee
Ich wusste nicht, dass sowas geht. Hab nämlich nur MaxGUI. ![]() @ReLeNtLeSS Du musst WaitEvent trotzdem benutzen, wenn du das Fenster weiterhin behalten willst. Wenn du WaitEvent nicht benutzt, werden auch die windowseigenen Nachrichten nicht verarbeitet und das Fenster wird unbrauchbar. |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
![]() |
ReLeNtLeSS |
![]() Antworten mit Zitat ![]() |
---|---|---|
jojo^^
aber das fenster is unütz^^ es funzt es alles so wie ich es haben wollte... programm läuft nur als task und nich fenster/tray, und nimmt die keys an^^ danke nochmal mfg |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group