Ошибка обнаружения джойстика C#

Я пытаюсь создать приложение на С#, использующее джойстик. Я перешел на "http://www.codeproject.com/KB/directx/joystick.aspx» и в основном точно скопировал пример, но я продолжаю получать следующую ошибку: «не является допустимым приложением Win32. (Исключение из HRESULT: 0x800700C1)». Приложение в настоящее время является консольным приложением для целей тестирования. Я использовал следующее:

"используя Microsoft.DirectX;" "используя Microsoft.DirectX.DirectInput;"

и строка кода, которая выдает ошибку,

DeviceList gameControllerList = Manager.GetDevices(DeviceClass.GameControl,EnumDevicesFlags.AttachedOnly);

Также я использую Windows 7, не уверен, поможет это или нет.


person Petezah    schedule 14.01.2010    source источник


Ответы (1)


Если вы используете 64-битную версию Windows 7, обязательно скомпилируйте приложение для x86. Управляемый DirectX поддерживается только в 32-разрядной версии, поэтому, если вы компилируете таргетинг на 64-разрядную версию или AnyCPU, он выдает ошибку, которую вы получаете.

Если вам необходимо поддерживать это для 64-разрядной версии, я рекомендую преобразовать ваш код для использования SlimDX вместо управляемого DirectX. (Лично я бы порекомендовал сделать это в любом случае, поскольку SlimDX намного превосходит MDX...)

person Reed Copsey    schedule 14.01.2010