問題
C++ を使用してWindows ジョイスティック移動イベントをプログラムでスローしたい のですが、方法がわかりません。
誰かが、独自のカスタム デバイス ドライバーを作成することについて言及していました。私は前にそのようなことをしたことがありません。
誰かが私を正しい方向に向けることができますか?
私は何を試しましたか?
1) 私は最初にVJoyを調べました。これは、これを行う方法としてSDKです。
デモ コードを実行しましたが、Vjoy ドライバーがインストールされている必要がありました。これを実行しようとしましたが、「Msvcrt.dll ファイルにプロシージャ エントリ ポイントが見つかりません」というエラーが表示され、インストールが失敗しました。
マイクロソフトが提案した修正は...
...Windows XP 回復コンソールを使用して、Msvcrt.dll ファイルを元のバージョンに置き換えます。
(Msvcrt.dll のバージョンは 7.0.2600.0 である必要があると思いますが、私のバージョンは 7.0.2600.5512 です。)
これには Windows XP CD-ROM が必要でしたが、私は持っていません。
2)このチュートリアルに従って、DirectX DirectInput コンポーネントを使用して同じことを達成できると思っていました。また、 DirectX SDKをインストールして、必要な .lib ファイルとヘッダー ファイルを取得しました。
チュートリアルは言った:
DirectInput 関数を使用するには、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++の初心者です。