2010-01-14 3 views
1

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

«using Microsoft.DirectX;» "с использованием Microsoft.DirectX.DirectInput;"

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

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

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

ответ

3

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

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