Witam pisze aplikacje mam z nia pewien problem otoz chce zrobic tak ze program nasluchuje na danym porcie(osobna funkcja, watek) i gdy sie ktos polaczy chce IP pokazac w ListBoxie ale sie nie udaje, chyba dlatego ze nie moge z funkcji siegnac oblusgi okna
HWND hwnd, hCombo;
// socket....
string ip[SIZE_USER];
DWORD WINAPI siec(PVOID pvParam)
{
WORD wersja;
WSADATA wsaData;
wersja = MAKEWORD( 2, 0 );
blad = WSAStartup(wersja, &wsaData );
int i = 0;
sock = socket(AF_INET,SOCK_STREAM,0);
struct sockaddr_in myaddr;
struct sockaddr_in yaddr;
myaddr.sin_family = AF_INET;
myaddr.sin_port = htons(PORT);
myaddr.sin_addr.s_addr = INADDR_ANY;
memset(&myaddr.sin_zero,0,sizeof(myaddr.sin_zero));
if((binder = bind(sock,(struct sockaddr*)&myaddr,sizeof(struct sockaddr))) == -1)
{ MessageBox(NULL,"bind", "Wiadomość", MB_ICONINFORMATION | MB_OKCANCEL); exit(1); }
listen(sock,SIZE_USER);
sinsize = sizeof(struct sockaddr);
while(true)
{
if((newsock[i] = accept(sock,(struct sockaddr*)&yaddr,&sinsize)) == -1)
{ MessageBox(NULL,"aceept", "Wiadomość",MB_OKCANCEL); exit(1); }
ip[i] = inet_ntoa(yaddr.sin_addr);
UpdateWindow(hwnd);
i++;
}
return 0;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
//WYPEŁNIANIE STRUKTURY
//....
//...
//REJESTROWANIE KLASY OKNA
//...
//TWORZENIE OKNA
//.....
hCombo = CreateWindowEx(WS_EX_CLIENTEDGE, "COMBOBOX",NULL, WS_CHILD | WS_VISIBLE | WS_BORDER | CBS_DROPDOWN, 20,10, 150, 2000, hwnd, NULL, hInstance, NULL);
int i =0;
while(i<5){
SendMessage(hCombo, CB_ADDSTRING, 0, (LPARAM)ip[i].c_str());
i++;
}
int x = 6;
DWORD IdWatku;
CreateThread(NULL, 0, siec, (PVOID)x, 0, &IdWatku);
// cos z oknem
//....
//....