begin process at 2012 05 30 09:02:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Systeme

 > 

SendMessage() & WM_KEYUP


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

SendMessage() & WM_KEYUP

mardi 24 septembre 2002 à 10:09:57 | SendMessage() & WM_KEYUP

Manson

Salut a tous,

voila, j'ai un process qui tourne en multithread pour chopper les touches utiliser et j'aimerai qu'il les envoi a la fenetre principale (hwnd) dans laquelle j'ai défini la case WM_KEYUP, avec les actions pour différente valeur de wParam.

Mon pb, c'est que lorsque je veux que mon process envoi les touches a la fenetre cela ne fonctionne pas, par exemple pour la touche entree j'ai fais ca :

SendMessage(hwnd, WM_KEYUP, (WPARAM)13, 0);

Mais rien ne se passe, la fenetre ne recoit pas ce message.

Savez-vous d'ou vient l'erreur ?


D'avance merci.
mardi 24 septembre 2002 à 11:39:02 | Re : SendMessage() & WM_KEYUP

jcecchi

salut,

>> Savez-vous d'ou vient l'erreur ?

comme ca, sans plus de code, peut pas dire.

-------------------------------
Réponse au message :
-------------------------------

Salut a tous,

voila, j'ai un process qui tourne en multithread pour chopper les touches utiliser et j'aimerai qu'il les envoi a la fenetre principale (hwnd) dans laquelle j'ai défini la case WM_KEYUP, avec les actions pour différente valeur de wParam.

Mon pb, c'est que lorsque je veux que mon process envoi les touches a la fenetre cela ne fonctionne pas, par exemple pour la touche entree j'ai fais ca :

SendMessage(hwnd, WM_KEYUP, (WPARAM)13, 0);

Mais rien ne se passe, la fenetre ne recoit pas ce message.

Savez-vous d'ou vient l'erreur ?


D'avance merci.
mardi 24 septembre 2002 à 14:22:04 | Re : SendMessage() & WM_KEYUP

Manson

Bah je vois pas ce que je peux te donner comme code, dis moi ce dont tu as besoin, mon seul pb, c'est la transmission de message, tout le reste fonctionne bien.

Dis moi ce qui te faut ?
mardi 24 septembre 2002 à 14:47:48 | Re : SendMessage() & WM_KEYUP

jcecchi

Deja est-ce que ton thread recoit bien l'evenement WM_KEYUP??

>> Dis moi ce qui te faut ?

ben la partie ou tu interceptes l'evenement dans ton thread et la partie du traitement du message dans la callback de ta fenetre.




-------------------------------
Réponse au message :
-------------------------------

Bah je vois pas ce que je peux te donner comme code, dis moi ce dont tu as besoin, mon seul pb, c'est la transmission de message, tout le reste fonctionne bien.

Dis moi ce qui te faut ?
mardi 24 septembre 2002 à 16:56:00 | Re : SendMessage() & WM_KEYUP

Manson

Mon thread lance au demarrage de la fenetre

void Get_Key (PVOID pvoid)
{
int Enter;

while (Key.Continue == 1)
{
Enter = GetAsyncKeyState(13);

if (Enter != 0)
{
SendMessage(hWnd, WM_KEYUP, VK_RETURN, 0);
}
}
_endthread();
}

Ensuite la partie callback de ma fenetre :

int nVirtKey;

switch (message)
{
switch (lParam);
{
case WM_KEYUP:
nVirtKey = (int)wParam;

if (nVirtKey == 13)
{
....
}
}
}


Je ne suis pas dans ma fenetre lorsque je souhaite receptionner les touches, c pkoi j'ai besoin d'un thread.

Merci d'avance.
mardi 24 septembre 2002 à 18:59:36 | Re : SendMessage() & WM_KEYUP

jcecchi

bon il suffit d'enlever le switch(lParam) et normalement ta fenetre devrai recevoir le msg.

-------------------------------
Réponse au message :
-------------------------------

Mon thread lance au demarrage de la fenetre

void Get_Key (PVOID pvoid)
{
int Enter;

while (Key.Continue == 1)
{
Enter = GetAsyncKeyState(13);

if (Enter != 0)
{
SendMessage(hWnd, WM_KEYUP, VK_RETURN, 0);
}
}
_endthread();
}

Ensuite la partie callback de ma fenetre :

int nVirtKey;

switch (message)
{
switch (lParam);
{
case WM_KEYUP:
nVirtKey = (int)wParam;

if (nVirtKey == 13)
{
....
}
}
}


Je ne suis pas dans ma fenetre lorsque je souhaite receptionner les touches, c pkoi j'ai besoin d'un thread.

Merci d'avance.
mardi 24 septembre 2002 à 19:15:16 | Re : SendMessage() & WM_KEYUP

Manson

Ok, je viens d'essayer, ca fonctionne pas. Je lance mon prog, la fenetre s'ouvre, le thread se lance, et lorsque je vais dans une autre fenetre exterieur a mon programme et que j'appui sur Entree, rien, ma fenetre ne recois rien.

Je vois pas d'ou ca vient.
samedi 30 août 2003 à 19:20:14 | Re : SendMessage() & WM_KEYUP

JCpp

coucou

Je voulai savoir ci tu as téuci avec un Thread,
ci oui pourai tu m'envoyer ta source ?

car j'ai le même pb

Merci,



Cette discussion est classée dans : sendmessage, fenetre, process, wm, keyup


Répondre à ce message

Sujets en rapport avec ce message

Pb communication Fenetre [ par fytlos ] Je c que cette kestion a deja été posée mais je n'y arrive toujours pasJe developpe sous Visual C++G créé mes propres messages.J'ouvre une boite de di KEYUP, pas KEYDOWN ! Tu va comprendre oui ! [ par dominion ] Salut à tous !J'ai fait un prog avec hook clavier mais je ne touve pas le paramètre stipulant si la touche est une WM_KEYUP ou WM_KEYDOWN. C'est très probleme.. wm_syscommand [ par Gizmoz ] J'ai un problème lorsque je crée une fenetre windows, normal sans mfc, et que je traite le msg wm_syscommand de la facon suivante:case WM_SYSCOMMAND : SendMessage et écriture dans notepad [ par hilairenicolas ] Bonjour à tous,je voudrais que mon programme écrive une phrase dans une fenetre (notepad par exemple), mais je ne sais pas quel message lui envoyer. c WM_PAINT [ par Ensias ] Salut tous le monde , je voudrais savoir si le message WM_PAINT est envoyé indifiniment à la fenetre, ou bien suite à des evenements precis si c'est l message WM_PAINT [ par spiky31 ] BonjourJe m'excuse si ca semble une question de debutant mais c'est la premiere fois que je dessine dans une fenetre windows :(Je me suis rendu compte SendMessage, gerer les majuscules [ par tshupaka ] Voila ! j'aimerais savoir comment je peux envoyer un texte en majuscule sur une fenetre dont j'ai le handle. Avec SendMessage(hdl,WM_KEYDOWN... je peu Timer + OpenGL [ par glipper ] Bonjour,je possede un environnement MDI, qui contient une fenetre mere et deux filles (l'une des filles est en OpenGL)J'ai mis un Timer dans la fenetr WM_MOUSEWHEEL version 2 [ par watashi_blao ] j'intercepte pas le message WM_MOUSEWHEEL dans ma fenetre fille (qui gère opengl. je veux intercepter le message dans la fonction de traitement des me hook pour garder sa fenetre au dessus des autres meme face a des jeux [ par testtestiop ] Bonjour,J'ai voulu faire un programme permettant de garder une fenetre au dessus de tous les autres avec la fonction setwindowpos() de l'api win32. Ce


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,842 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales