Casser un boucle [DevCpp]

guitoulefoux Messages postés 152 Date d'inscription lundi 24 mars 2003 Statut Membre Dernière intervention 6 janvier 2009 - 9 oct. 2003 à 10:12
guitoulefoux Messages postés 152 Date d'inscription lundi 24 mars 2003 Statut Membre Dernière intervention 6 janvier 2009 - 10 oct. 2003 à 01:20
Bonjour,
Je cherche a casser une boucle grace a la touche "VK_HOME".
Au début je voulais le faire avec un HOOK (mais j'y arrive pas)
puis je voulais le faire en récupérant le code ASCII (mais j'y arrive pas)

La je suis sur un autre truc (ca marche toujour pas).
Aidé moi svp ....

while(!GetKeyState(VK_HOME))
{
GetCursorPos(&pt);
SetWindowPos(hwnd,HWND_TOPMOST,pt.x-260/2,pt.y-270/2,260,270,SWP_SHOWWINDOW);
UpdateWindow(hwnd);
Sleep(100);
}

Merci

GuitouLeFoux :-p
"Le secret du sage est de briller dans l'ombre"

4 réponses

garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 1
9 oct. 2003 à 15:05
Les hook c'est sympa mais c'est un peu compliqué et souvent très lourd.

Le code ASCII d'une touche...ça n'existe pas! Enfin plus précisément le code ASCII c'est un code pour un caractère, par extension on a donné le même code à la touche T qu'au caractère 'T' par exemple. Par contre le carctère qui correspondrait à HOME ....

Et pour ton problème j'aurais une autre approche...

Je pense que le plus simple c'est de changer ton test en

while(bHomePressed)

en déclarant BOOL bHomePressed en variable globale (ou en variable de classe si c'est du C++)

et de traiter l'événement KEYDOWN en y mettantbHomePressed ( nChar VK_HOME);

Voila
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
9 oct. 2003 à 15:06
while(!GetKeyState(VK_HOME)) JAMAIS ou boucle infinie en vue. Controle la touche dans la boucle, si ok alors break;
BruNews, ciao...
0
guitoulefoux Messages postés 152 Date d'inscription lundi 24 mars 2003 Statut Membre Dernière intervention 6 janvier 2009
9 oct. 2003 à 16:44
Merci pour vos réponses je test ca se soir.

GuitouLeFoux :-p
"Le secret du sage est de briller dans l'ombre"
0
guitoulefoux Messages postés 152 Date d'inscription lundi 24 mars 2003 Statut Membre Dernière intervention 6 janvier 2009
10 oct. 2003 à 01:20
Re Salut,
J'ai trouvé ca et pour le moment ca marche tres bien.

while(!GetAsyncKeyState(VK_HOME))
{
GetCursorPos(&pt);
SetWindowPos(hwnd,HWND_TOPMOST,pt.x-260/2,pt.y-270/2,260,270,SWP_SHOWWINDOW);
UpdateWindow(hwnd);
Sleep(100);
}

Merci pour votre aide

GuitouLeFoux :-p
"Le secret du sage est de briller dans l'ombre"
0
Rejoignez-nous