Das Programm verhält sich jetzt anders.
Wird die Methode einmal durchlaufen werden im Anzeigefenster die Werte des Gamepads angezeigt
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
BOOL CALLBACK EnumJoysticksCallback(LPCDIDEVICEINSTANCE pDeviceInstance,
void* pRef)
{
// GUID des Joysticks kopieren
JoystickGUID = pDeviceInstance->guidInstance;
// Abzählung abbrechen
return DIENUM_STOP;
//return DIENUM_CONTINUE;
}
|
Wird die Methode zweimal durchlaufen werden nicht die Werte des Gamepads angezeigt sondern die Werte des Joysticks.
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
BOOL CALLBACK EnumJoysticksCallback(LPCDIDEVICEINSTANCE pDeviceInstance,
void* pRef)
{
// GUID des Joysticks kopieren
JoystickGUID = pDeviceInstance->guidInstance;
// Abzählung abbrechen
//return DIENUM_STOP;
return DIENUM_CONTINUE;
}
|
Ist ja schon mal gut. Aber wie bekomme ich Zugriff auf die Werte des Gamepads? Die Adresse des Gamepads wird beim zweiten Durchlauf durch die Adresse des Joysticks überschrieben.
Was muss ich ändern?
PS: Ich will das Programm nicht dahingehend ändern, dass die Werte vom Gamepad und vom Joystick im Anzeigefenster angezeigt werden, es reicht mir wenn ich die Werte vom Gamepad und vom Joystick im Debugger angezeigt bekomme. Das Ausgabefenster ist für mich nur zweitrangig.