GetAsyncKeyState C++

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • johanschr
  • Registratie: Maart 2009
  • Laatst online: 25-02-2021
(jarig!)
Hoe kan ik met GetAsyncKeyState mijn gewenste functie enkel activeren als de knop is ingedrukt? als ik de knop los laat zou mijn functie zeg maar weer gedeactiveerd worden.

Of zijn er misschien nog andere manieren om toetsen te gebruiken die meer geschikt zijn voor mijn doeleinde?

Ja ik heb Google afgezocht, maar kon niets vinden wat echt in de buurt kwam van mijn idee.

[ Voor 14% gewijzigd door johanschr op 26-03-2010 00:02 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
johanschr schreef op vrijdag 26 maart 2010 @ 00:01:
Hoe kan ik met GetAsyncKeyState mijn gewenste functie enkel activeren als de knop is ingedrukt?
Door de functie aan te roepen als de keystate down is :?
The GetAsyncKeyState function determines whether a key is up or down at the time the function is called, and whether the key was pressed after a previous call to GetAsyncKeyState.
johanschr schreef op vrijdag 26 maart 2010 @ 00:01:
als ik de knop los laat zou mijn functie zeg maar weer gedeactiveerd worden.
Een functie die gedeactiveerd wordt :? Je wil dat een method halverwege afgebroken wordt in z'n executie? Of wil je dat een method, na loslaten van de toets, niet wéér aangeroepen wordt?

Je wil gewoon de keystate pollen volgens mij; maar ik kan weinig hout snijden van je verhaal.
johanschr schreef op vrijdag 26 maart 2010 @ 00:01:
Of zijn er misschien nog andere manieren om toetsen te gebruiken die meer geschikt zijn voor mijn doeleinde?
Gebruik de "t"-toets eens :? Seriously: heb je je post nagelezen voordat je op 'verstuur bericht' drukte? Ik zou niet weten wat je met deze zin bedoelt... Wat is je doeleinde en ben je op zoek naar andere manieren om keystates uit te lezen misschien?
johanschr schreef op vrijdag 26 maart 2010 @ 00:01:
Ja ik heb Google afgezocht, maar kon niets vinden wat echt in de buurt kwam van mijn idee.
Wat is je idee dan? "Ja ik heb Google afgezocht" kunnen we allemaal wel roepen. Wat vond je dan allemaal en waarom voldeed dat niet?

Waarom doe je niet:
code:
1
2
3
while (GetAsyncKeyState(somekeycode) == KeyDown) {
  DoIets();
}

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 21:24

.oisyn

Moderator Devschuur®

Demotivational Speaker

Waarom überhaupt GetAsyncKeyState() als je overduidelijk iets event-based wilt doen?

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • johanschr
  • Registratie: Maart 2009
  • Laatst online: 25-02-2021
(jarig!)
Ik wil inderdaad dat de functie onderbroken word zodra ik de willekeurige knop loslaat. Mocht dat een beetje verwarrend over zijn gekomen mijn excuses daarvoor, laat de opmerkingen zoals "Gebruik de "t"-toets eens?" maar achterwege.. vragen kan ook gewoon. :)

Ik heb Google afgezocht over GetAsyncKeyState, maar ik kon nergens een normale omschrijving vinden wat mijn situatie betreft.

EDIT: Daar kan ik wat mee dankjewel.

[ Voor 4% gewijzigd door johanschr op 26-03-2010 00:30 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
johanschr schreef op vrijdag 26 maart 2010 @ 00:28:
EDIT: Daar kan ik wat mee dankjewel.
Waar mee?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • MLM
  • Registratie: Juli 2004
  • Laatst online: 12-03-2023

MLM

aka Zolo

als de functie zelf onderbroken moet worden, moet je in de functie zelf om de X tijd de key pollen en dan Sleep() als je key niet meer down is, OF je functie in een andere thread plaatsen en dan Suspend/ResumeThread gebruiken adhv key polling.

dat lijken me de simpelste methodes in elk geval.

-niks-

Pagina: 1