私も昔やったことがあります。
ずいぶん時間が経って細かいことは忘れてしまいましたが、当時はコントローラを使った簡単なゲームを作っていました。
そのときに参照したページです。↓
http://www.ccad.sist.chukyo-u.ac.jp/~mi ... /index.htm
http://msdn.microsoft.com/ja-jp/library/cc410481.aspx
また、そのとき作ったゲームのコードを見るに、次のような流れだったと思います。
①api_mmsys.sbpをインクルード
一番最初に「#include<api_mmsys.sbp>」を入力します。
RADツールで作るのでしたらメニューの「表示」→「プロジェクトオプション」→「Win32API」→「マルチメディアAPIを使用する」にチェックを入れれば上と同じことになります。
②次の物を宣言
コード: 全て選択
Declare Function joySetCapture Lib "winmm.dll" (hwnd As HWND,uJoyID As Long,uPeriod As DWord,fChanged As Long) As DWord
Declare Function joyReleaseCapture Lib "winmm.dll" (uJoyID As Long) As DWord
③ゲームパットをキャプチャ
RADツールなら
コード: 全て選択
joySetCapture(hMainWnd,0,1,FALSE)
N88BASICなら
コード: 全て選択
joySetCapture(_PromptSys_hWnd,0,1,FALSE)
です。
2つ目のジョイスティックは二番目の「0」を「1」にするんだったと思います。
④メッセージを取得
ゲームパッドの状態はメッセージで渡されます。
N88BASICの場合はサブクラス化が必要だったと思います。
当時サブクラス化の知識が0だった私はprompt.sbpを直接いじっちゃってます。
メッセージは
MM_JOY1MOVE
MM_JOY2MOVE
MM_JOY1ZMOVE
MM_JOY2ZMOVE
MM_JOY1BUTTONDOWN
MM_JOY2BUTTONDOWN
MM_JOY1BUTTONUP
MM_JOY2BUTTONUP
です。
メッセージ、サブクラス化が分からない場合はお手数ですがこのページ右の検索欄などで検索お願いします。
⑤ゲームパッドを離す
プログラムでゲームパッドがいらなくなったら
コード: 全て選択
joyReleaseCapture(0)
でリリースしてください。
「0」は2つ目のジョイスティックの場合「1」だったと思います。
当時使っていたゲームパッドを手放してしまい、私のコードが非常に読みづらいものなので上記コードで動くかどうか分からないです。
Windowsのコントロールパネルのどこかにジョイスティックなどの機能を調べるツールがあったと思います。(私が使ってるのはWinXPですが…)
それを使うと動作確認が簡単になります。
それではがんばってください!