WorldRacer
Erfahrenes Mitglied
Hio,
hab mal wieder ne Frage: Wie kann ich die Tastaturbefehle abfragen, während ich NICHT im Programm bin? Habs schon so versucht:
Aber da Fragt der die ans Fenster übergebenen Befehle der Tastatur ab. Der Sinn der ganzen Sache ist, das ich mein Prgramm zu einem Spiel neben her laufen lasse, welches dann auf Tastendruck bestimmte Sounds abspielt. (z.B. bei World Racing 2 den Blinkersound, der fehlt nämlich *g*)
Gibt es da eine Möglichkeit? Vielleicht über die Winapi? bin totaler neuling in c++ habe NULL ^^ ahnung
hab mal wieder ne Frage: Wie kann ich die Tastaturbefehle abfragen, während ich NICHT im Programm bin? Habs schon so versucht:
Code:
#include <windows.h>
#include <ddraw.h>
#include "ddutil.h"
#define WindowTitle "WR2-Blinker"
#define WindowClassName "DDWinClass"
bool running;
LONG FAR WINAPI WndProc (HWND , UINT , UINT , LONG) ;
int WINAPI WinMain (HINSTANCE hInstance , HINSTANCE hPrevInstance ,
LPSTR lpCmdLine , int nCmdShow)
{
MSG msg ;
HWND hwnd ;
WNDCLASS wndclass ;
if (!hPrevInstance)
{
wndclass.style = CS_HREDRAW | CS_VREDRAW ;
wndclass.lpfnWndProc = WndProc ;
wndclass.cbClsExtra = 0 ;
wndclass.cbWndExtra = 0 ;
wndclass.hInstance = hInstance ;
wndclass.hIcon = LoadIcon (NULL , IDI_APPLICATION) ;
wndclass.hCursor = LoadCursor (NULL , IDC_ARROW) ;
wndclass.hbrBackground = (HBRUSH)GetStockObject (LTGRAY_BRUSH) ;
wndclass.lpszMenuName = NULL ;
wndclass.lpszClassName = WindowClassName ;
RegisterClass (&wndclass) ;
}
hwnd = CreateWindow (WindowClassName ,
WindowTitle ,
WS_OVERLAPPEDWINDOW ,
CW_USEDEFAULT ,
CW_USEDEFAULT ,
CW_USEDEFAULT ,
CW_USEDEFAULT ,
NULL , NULL ,
hInstance , NULL) ;
ShowWindow (hwnd , nCmdShow) ;
UpdateWindow (hwnd) ;
running=true;
while(running)
{
if (PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
if (msg.message == WM_QUIT) break;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
return msg.wParam ;
}
LONG FAR WINAPI WndProc (HWND hwnd , UINT message ,
UINT wParam , LONG lParam)
{
switch (message)
{
case WM_KEYDOWN:
{
switch (wParam)
{
case VK_ESCAPE:
MessageBox(NULL, "lalala", "test", MB_OK);
return 0;
} break;
}
case WM_DESTROY:
{
PostQuitMessage (0) ;
return 0 ;
} break;
} // switch (message)
return DefWindowProc (hwnd , message , wParam , lParam) ;
} // WndProc
Aber da Fragt der die ans Fenster übergebenen Befehle der Tastatur ab. Der Sinn der ganzen Sache ist, das ich mein Prgramm zu einem Spiel neben her laufen lasse, welches dann auf Tastendruck bestimmte Sounds abspielt. (z.B. bei World Racing 2 den Blinkersound, der fehlt nämlich *g*)
Gibt es da eine Möglichkeit? Vielleicht über die Winapi? bin totaler neuling in c++ habe NULL ^^ ahnung