[delphi] keypress maar dan anders

Pagina: 1
Acties:

  • snoei
  • Registratie: Maart 2001
  • Laatst online: 14-09 16:38

snoei

kabels... :D

Topicstarter
Ik heb een grote while-lus met delphi geprogrammeerd. Ik wil in die while lus mijn toetsenbord kunnen uitlezen. (het gaat om de toetsen f1-f12, 1-0 en shift1-shift0)

Ik kan wel mijn toetsenbord uitlezen met onkeypress, maar dit is niet mogelijk in de while-loop.

weet iemand hier een oplossing voor.

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 15:41

mulder

ik spuug op het trottoir

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure OnKeyPress
begin
  KeyPressed := true;
  // sla keycode evt op
end

procedure MetWhileLoop
begin
  while blabla
  begin
    if KeyPressed then ...
  end; 
end

Zoiets?

oogjes open, snaveltjes dicht


  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06-2025

Varienaja

Wie dit leest is gek.

Op donderdag 27 december 2001 14:19 schreef El_Mundo een stukje code
Zo gaat het niet, want binnen een procedure worden geen events afgehandeld. Dus keypressed wordt niet op true gezet. Eventueel kan je Application.Processmessages opnemen in je while lus. Dan worden messages wel afgehandeld, en dus ook die variabele keypressed op true gezet.
Met processmessages kan je je overigens een boel onvoorziene ellende op de hals halen.

Siditamentis astuentis pactum.


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 15:41

mulder

ik spuug op het trottoir

Dat van die Processmessages, klopt wist alleen niet meer hoe dat zat, en ben heeeeeeeel veeeel km verwijdert van mijn eigen computer, zit hier gvd op een azerty te typen....

oogjes open, snaveltjes dicht


  • snoei
  • Registratie: Maart 2001
  • Laatst online: 14-09 16:38

snoei

kabels... :D

Topicstarter
ik kan nu wel key-messages krijgen, maar nu is er een volgend probleem. Het delphi programma moet op de achtergrond draaien, en dus als ik in een ander programma een toest in druk dat delphi deze dan toch kan 'lezen'.

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Op donderdag 27 december 2001 16:28 schreef snoei het volgende:
ik kan nu wel key-messages krijgen, maar nu is er een volgend probleem. Het delphi programma moet op de achtergrond draaien, en dus als ik in een ander programma een toest in druk dat delphi deze dan toch kan 'lezen'.
System-wide keyboard hook instellen, is niet makkelijk, zoek op Google.

"The shell stopped unexpectedly and Explorer.exe was restarted."


Verwijderd

Tipje: Windows API functies:

GetKeyState en GetAsyncKeyState. Leest de status van je toetsen (1 of 0). Leuk voor keysniffers enzo!

Is al ff geleden dus weet niet meer precies hoe ze werken, zoek maar. *D
Pagina: 1