2010-01-14 39 views
1

我试图在使用游戏杆的C#中创建应用程序。我去了“http://www.codeproject.com/KB/directx/joystick.aspx”,基本上复制了这个例子,但我不断收到以下错误: “不是有效的Win32应用程序(异常来自HRESULT:0x800700C1)”。该应用程序目前是用于测试目的的控制台应用程序我使用以下内容:C#游戏杆检测错误

“using Microsoft.DirectX;” “using Microsoft.DirectX.DirectInput;”

和抛出的错误代码行是

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

我也正在使用Windows 7,不知道有没有什么帮助或没有。

回答

3

如果您使用的是Windows 7的64位版本,请确保编译您的x86应用程序。托管DirectX仅支持32位,因此如果您正在编译目标64位或AnyCPU,它将抛出您收到的错误。

如果您需要支持64位,我建议您将代码转换为使用SlimDX而不是Managed DirectX。 (就个人而言,我会建议在任何情况下都这样做,因为SlimDX远远优于MDX ...)