Salut,
Je n'arrive pas à utiliser la fonction PostMessage dans mon programme :
#define WM_CONNECTE (WM_USER+1)
LRESULT CALLBACK Menu(HWND Dlg,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_INITDIALOG:
strcpy(buffer_ip,"192.168.0.4");
CreateThread(NULL, NULL, ThreadInitServerProc, NULL, NULL, &ThreadInitServerID);
return TRUE;
case WM_CONNECTE:
MessageBox(Dlg,"message du nom du client","INFO",NULL);
hCtrl=GetDlgItem(Dlg,IDC_LISTE);
SendMessage(hCtrl,LB_ADDSTRING,NULL,(LPARAM)(LPCTSTR)rec_data);
return TRUE;
case WM_COMMAND:
{
switch(LOWORD(wParam))
{
case IDC_REFRESH:
hCtrl=GetDlgItem(Dlg,IDC_LISTE);
SendMessage(hCtrl,LB_ADDSTRING,NULL,(LPARAM)(LPCTSTR)rec_data);
return TRUE;
case IDCANCEL:
sortie=1;
EndDialog(Dlg,1);
break;
}
}
default:
return FALSE;
}
return TRUE;
}
Le thread du serveur :
DWORD WINAPI ThreadServerProc(LPVOID lpParam)
{
while (1)
{
memset(rec_data,0,sizeof rec_data);
recv(csock_server, rec_data, sizeof(rec_data), 0);
if (rec_data!=0) break;
}
PostMessage(Dlg, WM_CONNECTE, 0, 0);
return 0;
}
Les infos du connecté ne s'affichent pas dans ma liste avec le PostMessage mais par contre si je clique sur REFRESH ça marche.
Pouvez vous m'aider SVP ???