Witam. Mam nastepujacy problem. Napisalem program/gre w Visual C++, lecz jeden szkopul nie daje mi zyc. Mianowicie jest to odbieranie widomosci z okna. Uzywam funkcji PeekMessage(...), zeby nie blokowac programu, lecz gdy dziala on jakis czas i uzytkownik bez przerwy korzysta z klawiatury, okno nie nadarza z odbieraniem wiadomosci. Zostaja one kolejkowane i odbierane kiedy zaden klawisz nie jest juz wcisniety. Nie wiem jak to zmienic. Pomocy. Fragment urzytego kodu:
(...)
bool key[256];
LRESULT CALLBACK WndProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
switch(msg)
{
(...)
case WM_KEYDOWN:
{
key[wParam]=TRUE;
return 0;
}
case WM_KEYUP:
{
key[wParam]=FALSE;
return 0;
}
(...)
}
(...)
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmhLine,int nShowCmd)
{
MSG msg;
while(!GetAsyncKeyState(VK_ESCAPE))
{
PeekMessage(&msg,hWnd,0,0,PM_REMOVE);
TranslateMessage(&msg);
DispatchMessage(&msg);
(...)
}
(...)
}