Care este diferența dintre getasynckeystate și getkeystate

Care este diferența dintre GetAsyncKeyState și GetKeyState?

De fapt :) Vreau să înțeleg.

Starea cheie returnată din această funcție (GetKeyState) se modifică ca un fir dat. Starea nu reflectă starea de întrerupere asociată cu hardware-ul. Utilizați funcția GetAsyncKeyState pentru a prelua acele informații.







Funcția GetKeyState diferă de GetAsyncKeyState prin faptul că returnează starea tastaturii în momentul în care ultimul mesaj din tastatură a fost extras din coada de thread (J. Richter)

> Botvin Dmitry ceva de genul asta am citit, dar nu am înțeles semnificația:
GetAsyncKeyState mai stabilă va funcționa sau ce?

Nu, doar GetAsyncKeyState întoarce întotdeauna 0 (nu este apăsat) dacă este apelat de un alt fir, mai degrabă decât cel care a creat fereastra care este acum în centrul de intrare. Și GetKeyState poate fi apelat






în orice moment și pentru ea nu contează ce fereastră în acest moment
în focalizare.

Botvin Dmitry # xA0; (08/15/05 11:03 AM) [4]

> Nu, doar GetAsyncKeyState întoarce întotdeauna 0 (nu este apăsat)

Este ciudat, dar în programul meu funcționează cu succes, indiferent de firul care a capturat intrarea (sau a creat fereastra care este în prezent în centrul atenției intrării). În primul rând am înțeles diferența: GetKeyState captează toate intrările de taste care sunt procesate în fluxurile de dextop active. GetAsynKeyState captează clicurile atunci când starea tastaturii se schimbă pe desktop-ul curent.

O explicație ca aceasta:
Deși bitul cel mai puțin semnificativ al valorii returnate indică dacă cheia a fost restabilită de atunci
ultima interogare, datorită naturii multitasking preemptive a Windows, o altă aplicație poate apela
GetAsyncKeyState și primiți biți "recent apăsat" în locul aplicației.
Comportamentul celui mai puțin semnificativ al valorii returnate este păstrat pentru compatibilitate
cu aplicații Windows pe 16 biți (care nu sunt preemptive) și nu ar trebui să se bazeze pe acestea.

Ce înseamnă în timp ce efectul depășit al funcției funcționează, dar în viitor nu este garantat.

Memorie: 0,73 MB
Durată: 0,05 secunde







Articole similare

Trimiteți-le prietenilor: