Вопрос

Я пытаюсь создать приложение в 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 ...)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top