(Erledigt) GetAsyncKeyState_(#VK_CONTROL) & 1

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
tft
Beiträge: 605
Registriert: 08.09.2004 20:18
Computerausstattung: GTX Titan , i9 9900K , 32 GB Ram , 500 GB SSD , 3 ASUS FullHD Monitore and more
Wohnort: Dachsen
Kontaktdaten:

(Erledigt) GetAsyncKeyState_(#VK_CONTROL) & 1

Beitrag von tft »

Hallo,

mich packt bald der Wahnsinn .... aber solange ich noch eine Anlaufstelle für Fragen habe, will ich nicht aufgeben.

Es gibt scheinbar Programme, die ein auslesen über oben genannte Funktion blockieren. Gibt es noch eine andere möglichkeit
bei bekanntem Fenster Handle auf Tastentruck zu reagieren.

Gruss TFT
Zuletzt geändert von tft am 01.02.2018 12:50, insgesamt 1-mal geändert.
TFT seid 1989 , Turgut Frank Temucin , Dachsen/Berlin/Antalya
Aktuelles Projekte : Driving School Evergarden
YouTube : Pure Basic to go
FaceBook : Temuçin SourceMAgic Games
DISCORD : SourceMagic
W10 , i9 9900K ,32 GB Ram , GTX Titan , 3 Monitore FHD
ARDUINO Freak :-)
Benutzeravatar
tft
Beiträge: 605
Registriert: 08.09.2004 20:18
Computerausstattung: GTX Titan , i9 9900K , 32 GB Ram , 500 GB SSD , 3 ASUS FullHD Monitore and more
Wohnort: Dachsen
Kontaktdaten:

Re: GetAsyncKeyState_(#VK_CONTROL) & 1 Funktioniert nicht ?

Beitrag von tft »

Hallo,

Hooks funktionieren bei besagtem Fenster auch nicht .......
TFT seid 1989 , Turgut Frank Temucin , Dachsen/Berlin/Antalya
Aktuelles Projekte : Driving School Evergarden
YouTube : Pure Basic to go
FaceBook : Temuçin SourceMAgic Games
DISCORD : SourceMagic
W10 , i9 9900K ,32 GB Ram , GTX Titan , 3 Monitore FHD
ARDUINO Freak :-)
Benutzeravatar
Imhotheb
Beiträge: 192
Registriert: 10.10.2014 13:14
Computerausstattung: Intel 8086, 640 KB RAM, Hercules Video Adapter, 2 x 5 1/4" 360kb Floppy, MS-DOS 3
Wohnort: Wolfenbüttel

Re: GetAsyncKeyState_(#VK_CONTROL) & 1 Funktioniert nicht ?

Beitrag von Imhotheb »

Wenn andere Programme auch exzessiv Gebrauch von der Funktion machen kamn es Probleme geben...
MSDN hat geschrieben:Although the least significant bit of the return value indicates whether the key has been pressed since the last query, due to the pre-emptive multitasking nature of Windows, another application can call GetAsyncKeyState and receive the "recently pressed" bit instead of your application.
weil einfach einfach einfach ist ... mach' ich es anders
Benutzeravatar
_JON_
Beiträge: 389
Registriert: 30.03.2010 15:24

Re: GetAsyncKeyState_(#VK_CONTROL) & 1 Funktioniert nicht ?

Beitrag von _JON_ »

Und &1 ist nicht ganz richtig probier mal:

Code: Alles auswählen

If (GetAsyncKeyState_(#VK_LCONTROL) & $8000)
  Debug "Pressed Left Ctrl"
EndIf
PureBasic 5.46 LTS (Windows x86/x64) | windows 10 x64 Oktober failure
Benutzeravatar
tft
Beiträge: 605
Registriert: 08.09.2004 20:18
Computerausstattung: GTX Titan , i9 9900K , 32 GB Ram , 500 GB SSD , 3 ASUS FullHD Monitore and more
Wohnort: Dachsen
Kontaktdaten:

Re: GetAsyncKeyState_(#VK_CONTROL) & 1 Funktioniert nicht ?

Beitrag von tft »

Hallo,

auch so funktioniert es nicht in allen Fenstern. Ich denke ich muss da einen anderen Weg gehen.
Danke für die Zahlreiche Anteilnahme.
Grus TFT
TFT seid 1989 , Turgut Frank Temucin , Dachsen/Berlin/Antalya
Aktuelles Projekte : Driving School Evergarden
YouTube : Pure Basic to go
FaceBook : Temuçin SourceMAgic Games
DISCORD : SourceMagic
W10 , i9 9900K ,32 GB Ram , GTX Titan , 3 Monitore FHD
ARDUINO Freak :-)
Benutzeravatar
tft
Beiträge: 605
Registriert: 08.09.2004 20:18
Computerausstattung: GTX Titan , i9 9900K , 32 GB Ram , 500 GB SSD , 3 ASUS FullHD Monitore and more
Wohnort: Dachsen
Kontaktdaten:

Re: GetAsyncKeyState_(#VK_CONTROL) & 1 Funktioniert nicht ?

Beitrag von tft »

Hallo,

ja das könnte sein . Es handelt sich dabei immer um Spiele im Fenster Modus wo es nicht funktioniert.
Gibt es da eine Möglichkeit über Direct X an die Tastenanschläge zu kommen?

Gruss TFT
TFT seid 1989 , Turgut Frank Temucin , Dachsen/Berlin/Antalya
Aktuelles Projekte : Driving School Evergarden
YouTube : Pure Basic to go
FaceBook : Temuçin SourceMAgic Games
DISCORD : SourceMagic
W10 , i9 9900K ,32 GB Ram , GTX Titan , 3 Monitore FHD
ARDUINO Freak :-)
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: GetAsyncKeyState_(#VK_CONTROL) & 1 Funktioniert nicht ?

Beitrag von ccode_new »

Schönes neues Jahr 2018 :coderselixir:

Also "tft" ist es nicht wirklich sinnvoller, wenn dein Programmfenster (was die Eingaben entgegennimmt) den Fokus nicht verlieren darf und im besten Fall immer oben auf ist (sticky).

Quasi jedem Programm die Erlaubnis zu unterbinden Tastatur-/oder Mausereignisse entgegen zu nehmen, wehrend dein Programm keinen Fokus hat, grenzt fast an Wahnsinn.

Oder darf ein anderes Programm (z.B. DirectX/OpenGL/Vulkan) auch z.B. gleichzeitig auf die Enter-Taste/Pfeil-Taste/etc. reagieren und dein Programm auch. Ist das bei dir eigentlich egal ?
Wenn ja könnte man sicherlich noch eine Lösung finden.
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Benutzeravatar
Mijikai
Beiträge: 754
Registriert: 25.09.2016 01:42

Re: GetAsyncKeyState_(#VK_CONTROL) & 1 Funktioniert nicht ?

Beitrag von Mijikai »

tft hat geschrieben:...
Gibt es da eine Möglichkeit über Direct X an die Tastenanschläge zu kommen?
...
Mann kann z.B. das 'IDirectInputDevice' (vTable) hooken...

Oder was mit RawInput versuchen ->
https://msdn.microsoft.com/de-de/librar ... s.85).aspx
There are several advantages to the raw input model:

- An application does not have to detect or open the input device.
- An application gets the data directly from the device, and processes the data for its needs.
- An application can distinguish the source of the input even if it is from the same type of device. For example, two mouse devices.
- An application manages the data traffic by specifying data from a collection of devices or only specific device types.
- HID devices can be used as they become available in the marketplace, without waiting for new message types or an updated OS to have new commands in WM_APPCOMMAND.
Benutzeravatar
tft
Beiträge: 605
Registriert: 08.09.2004 20:18
Computerausstattung: GTX Titan , i9 9900K , 32 GB Ram , 500 GB SSD , 3 ASUS FullHD Monitore and more
Wohnort: Dachsen
Kontaktdaten:

Re: GetAsyncKeyState_(#VK_CONTROL) & 1 Funktioniert nicht ?

Beitrag von tft »

Hallo,

@ ccode_new
ich möchte nicht das die Tasten unterbunden werden. Ich möchte das mein Programm. Ob es den Fokus hat oder nicht. Immer auf tasten Druck reagieren
kann. Und weis welche Taste gedrückt wurde. GetAsyncKeyState_() macht da schon genau was ich brauche. Aber bei DX Fenstern wohl scheinbar nicht.
TFT seid 1989 , Turgut Frank Temucin , Dachsen/Berlin/Antalya
Aktuelles Projekte : Driving School Evergarden
YouTube : Pure Basic to go
FaceBook : Temuçin SourceMAgic Games
DISCORD : SourceMagic
W10 , i9 9900K ,32 GB Ram , GTX Titan , 3 Monitore FHD
ARDUINO Freak :-)
Antworten