我正在测试XInput,但无法让我的程序读取控制器。控制器已连接,可在游戏中使用。
我正在运行的代码是:
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_CREATE:
{
for (int i = 0; i < XUSER_MAX_COUNT; i++) {
XINPUT_CAPABILITIES cap;
XINPUT_STATE state;
ZeroMemory(&cap, sizeof(XINPUT_CAPABILITIES));
ZeroMemory(&state, sizeof(XINPUT_STATE));
DWORD result1 = XInputGetCapabilities(i, 0, &cap);
DWORD result2 = XInputGetState(i, &state);
if (result1 == ERROR_SUCCESS || result2 == ERROR_SUCCESS) {
continue;
}
}
}
break;
....
result1
和result2
始终为ERROR_DEVICE_NOT_CONNECTED。
我之前尝试添加XInputEnable(TRUE);
,但是VS2017引发了弃用错误。我在做什么错了?