C# ошибка обнаружения джойстика
Вопрос
Я пытаюсь создать приложение в 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, не уверен, помогает ли это или нет.
Решение
Если вы используете 64 -битную версию Windows 7, обязательно составьте свое приложение для x86. Managed DirectX поддерживается только в 32 -битном, поэтому, если вы компилируете Targetting 64 -битный или AnyCPU, он бросит с ошибкой, которую вы получаете.
Если вам нужно поддержать это для 64 -битного, я рекомендую преобразовать ваш код для использования Slimdx вместо управляемого DirectX. (Лично я бы порекомендовал сделать это в любом случае, так как Slimdx намного превосходит MDX ...)