سؤال

أحاول إنشاء تطبيق في 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. يتم دعم DirectX المدارة فقط في 32 بت ، لذلك إذا كنت تقوم بتجميع استهداف 64 بت أو anycpu ، فسيتم رميها بالخطأ الذي تتلقاه.

إذا كنت بحاجة إلى دعم هذا مقابل 64 بت ، أوصي بتحويل الكود الخاص بك للاستخدام Slimdx بدلا من المدارة directx. (شخصيا ، أوصي بالقيام بذلك على أي حال ، لأن Slimdx أعلى بكثير من MDX ...)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top