Nur meldet Microsoft Visual C++ Express Edition 2005 nun stets folgendes Warning, welches ich einfach nicht weg bringe:
Warning C4311: 'Typumwandlung': Zeigerverkürzung von 'LPVOID' zu 'DWORD'
Sieht jemand was zu tun ist?
P.S.: Der Rückgabetyp der Threads kann nicht geändert werden und auch data muss vom Typ LPVOID sein.
Ich sehe keine Alternative zum Casting, welches der Compiler aber bemängelt...
- Code: Alles auswählen
#include <windows.h>
#include <stdio.h>
DWORD WINAPI Thread_1(LPVOID data);
DWORD WINAPI Thread_2(LPVOID data);
DWORD WINAPI Thread_3(LPVOID data);
int main(int argc,char* argv[])
{
HANDLE hThread[3];
hThread[0]=CreateThread(NULL,0,Thread_1,(LPVOID)0,0,NULL);
hThread[1]=CreateThread(NULL,0,Thread_2,(LPVOID)0,0,NULL);
hThread[2]=CreateThread(NULL,0,Thread_3,(LPVOID)0,0,NULL);
getchar();
return 0;
}
DWORD WINAPI Thread_1(LPVOID data)
{
Sleep(1000);
MessageBox(NULL,TEXT("Fensterinhalt"),TEXT("Fenster1"),NULL);
return ((DWORD)data);
}
DWORD WINAPI Thread_2(LPVOID data)
{
Sleep(2000);
MessageBox(NULL,TEXT("Fensterinhalt"),TEXT("Fenster2"),NULL);
return ((DWORD)data);
}
DWORD WINAPI Thread_3(LPVOID data)
{
Sleep(3000);
SetForegroundWindow(FindWindow(TEXT("#32770"),TEXT("Fenster1")));
return ((DWORD)data);
}