Tasten abfragen - Problem

Anfängerfragen zum Programmieren mit PureBasic.
PMTheQuick
Beiträge: 630
Registriert: 05.05.2005 19:06

Tasten abfragen - Problem

Beitrag von PMTheQuick »

Hi,

ich habe ein kleines Problem... Folgendes funktioniert irgendwie einfach nicht...

Code: Alles auswählen

If GetAsyncKeyState_(#VK_S) = -32767 And GetAsyncKeyState_(#VK_K) = -32767
;...
EndIf
Das geht ja schon nicht. Beachtet: Ich will gar nicht S & K abfragen, sondern ich würde lieber Ctrl + Alt + P + 2 abfragen (oder halt Alt Gr + P + 2)... Wie kann ich diese Tastenkombination abfragen?

Gruss
PMTheQuick ;)
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@PMTheQuick
Wieso machst du das nicht mit AddKeyboardShortcut()?

Oder so:

Code: Alles auswählen

If GetAsyncKeyState_(#VK_LCONTROL) And GetAsyncKeyState_(#VK_K)
  Debug "wurde gedrückt"
EndIf
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
PMTheQuick
Beiträge: 630
Registriert: 05.05.2005 19:06

Beitrag von PMTheQuick »

Weil ich kein Windows-Fenster öffne. Nur Konsole. Und wie gesagt, ich möchte Ctrl + Alt + P + 2 (bzw. Alt Gr + P + 2)...

Gruss
PMTheQuick ;)
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

Code: Alles auswählen

Procedure Taste()
  Repeat
    If GetAsyncKeyState_(#VK_LCONTROL) And GetAsyncKeyState_(#VK_K) 
      Debug "wurde gedrückt" 
    EndIf
    Delay(10)
  ForEver
EndProcedure

OpenConsole()
  CreateThread(@Taste(),0)
  Input()
CloseConsole()
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
PMTheQuick
Beiträge: 630
Registriert: 05.05.2005 19:06

Beitrag von PMTheQuick »

Ich möchte GENAU die Kombination "CTRL + ALT + P + 2"! ;)

Gruss
PMTheQuick ;)
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@PMTheQuick
Wieso STRG ALT P und 2 ?
Das geht doch eigentlich garnicht.
Oder willst du:
STRG ALT P
STRG ALT 2
?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
PMTheQuick
Beiträge: 630
Registriert: 05.05.2005 19:06

Beitrag von PMTheQuick »

Hm... Oder notfalls halt Strg + Alt + S...

Gruss
PMTheQuick ;)
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

wer nur drei Finger hat kann das nicht drücken :)
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Morty_tmp

Beitrag von Morty_tmp »

Was ist so schwer daran, oben gezeigtes Beispiel zu erweitern?

Code: Alles auswählen

Procedure Taste() 
  Repeat 
    If GetAsyncKeyState_(#VK_LCONTROL) And GetAsyncKeyState_(#VK_LMENU) And GetAsyncKeyState_(#VK_P) And GetAsyncKeyState_(#VK_2) 
      Debug "wurde gedrückt" 
    EndIf 
    Delay(10) 
  ForEver 
EndProcedure 

OpenConsole() 
  CreateThread(@Taste(),0) 
  Input() 
CloseConsole()
Wenn Du die 2 auf'm Numpad brauchst musst Du #VK_NUMPAD2 statt #VK_2 nutzen.

Viel Spass beim Fingerbrechen.

Morty
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

Mist da war Morty_tmp schneller als ich, weil ich die verdamte Konstante (#VK_LMENU) der Taste nicht finden konnte
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Antworten