我在枚舉DirectInput中的操縱桿。'EnumDevices':不是'IDirectInput8A'的成員
unsigned int GetCount()
{
unsigned int counter;
LPDIRECTINPUT8 di;
HRESULT hr;
counter = 0;
di = NULL;
if (SUCCEEDED(hr = DirectInput8Create(GetModuleHandle(NULL),
DIRECTINPUT_VERSION,
IID_IDirectInput8,
(VOID**)&di, NULL)))
{
di->EnumDevices(DI8DEVCLASS_GAMECTRL, countCallback, &counter, DIEDFL_ATTACHEDONLY);
}
return counter;
}
僅供參考 - 這是使用C編譯器的c文件。
我得到這些好奇的錯誤。
error C2039: 'EnumDevices' : is not a member of 'IDirectInput8A'
error C2440: 'function' : cannot convert from 'const GUID' to 'const IID *const '
第一種是指的是開始di->EnumDevices...
第二指的是在IID_IDirectInput8
DirectInput8Create
線。
我玩過UNICODE設置,看看它是否重要。不。
這感覺就像一個非常基本的東西。
您可能想查看[DirectInput samples](https://code.msdn.microsoft.com/windowsdesktop/DirectInput-Samples-8ac6f5e3)o n MSDN代碼庫。 – 2014-11-02 18:38:28