以编程方式触发Windows操纵杆事件?

时间:2015-05-28 12:10:05

标签: c++ winapi directx joystick directinput

问题

我想以编程方式抛出 Windows Joystick move events使用c ++,但我不确定如何。

有人曾提到编写我自己的自定义设备驱动程序。我以前从来没有这样做过。

有人能指出我正确的方向吗?

我尝试了什么?

1) 我首先考虑了VJoy及其SDK作为执行此操作的方法。

我运行了演示代码,但它需要安装Vjoy驱动程序。我试图这样做,但收到了一个" Procedure Entry Point Not Found in Msvcrt.dll File "导致安装失败的错误。

微软提出的建议是......

  

...使用Windows XP故障恢复控制台替换Msvcrt.dll文件   与原始版本。

(我相信Msvcrt.dll版本应该是7.0.2600.0但是我的版本是7.0.2600.5512。)

这需要Windows XP CD-ROM,我没有。

2)我以为我可以使用DirectX DirectInput组件实现相同的功能,而不仅仅是tutorial。我还安装了DirectX SDK来获取我需要的.lib文件和头文件。

教程说:

  

您需要包含DirectInput头文件才能使用any   DirectInput函数:

     

#include <dinput.h>

     

为了链接最终的应用程序二进制文件,您需要包含   项目中的以下库:

     

dinput8.lib dxguid.lib

我正确地链接了图书馆但是当我包含dinput.h并且构建时我收到了以下错误

1>  Main.cpp
1>  c:\program files\microsoft directx sdk (june 2010)\include\dinput.h: DIRECTINPUT_VERSION undefined. Defaulting to version 0x0800
1>c:\program files\microsoft directx sdk (june 2010)\include\dinput.h(1991): error C2059: syntax error : 'constant'
1>c:\program files\microsoft directx sdk (june 2010)\include\dinput.h(1991): error C2238: unexpected token(s) preceding ';'
1>c:\program files\microsoft directx sdk (june 2010)\include\dinput.h(1999): error C2059: syntax error : 'constant'
1>c:\program files\microsoft directx sdk (june 2010)\include\dinput.h(1999): error C2238: unexpected token(s) preceding ';'
1>c:\program files\microsoft directx sdk (june 2010)\include\dinput.h(2220): error C2059: syntax error : 'constant'
1>c:\program files\microsoft directx sdk (june 2010)\include\dinput.h(2220): error C2238: unexpected token(s) preceding ';'
1>c:\program files\microsoft directx sdk (june 2010)\include\dinput.h(2232): error C2059: syntax error : 'constant'
1>c:\program files\microsoft directx sdk (june 2010)\include\dinput.h(2232): error C2238: unexpected token(s) preceding ';'

一些额外信息

我使用的是Windows XP。

我是c ++新手。

0 个答案:

没有答案