- ベストアンサー
キーの自動入力
既存のアプリケーションをスタートするのに、”S”を 押すのですが、これを自動でスタートするように勝手に ”S”を入力するようにするにはどういったプログラムをすればよいのでしょうか? 初歩的な質問かもしれませんが、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
★アドバイス ・INPUT構造体にあるKEYBOARDINPUT構造体にいろいろ値をセットします。 その後にSendInput()関数を呼び出します。 サンプル: // 標準キーの設定 VOID setKeybrd( LPINPUT lpKey, WORD wVKey, BOOL bKeyDown ) { lpKey->type = INPUT_KEYBOARD; lpKey->ki.wVk = wVKey; lpKey->ki.wScan = (WORD)MapVirtualKey( wVKey, 0 ); lpKey->ki.dwFlags = (bKeyDown ? 0 : KEYEVENTF_KEYUP); lpKey->ki.dwExtraInfo = 0; lpKey->ki.time = 0; } // 使い方([Windows]+[R]の場合) INPUT Key[ 4 ]; LPINPUT lpKey = Key; setKeybrd( lpKey++, VK_LWIN, TRUE ); setKeybrd( lpKey++, 'R', TRUE ); setKeybrd( lpKey++, 'R', FALSE ); setKeybrd( lpKey++, VK_LWIN, FALSE ); if ( SendInput((UINT)(lpKey - Key),Key,sizeof(INPUT)) == (UINT)(lpKey - Key) ){ 正常 } else{ エラー } こんな感じで動くでしょう。 'R'を'S'にしてVK_LWINの行をなくせば良い。
その他の回答 (1)
- 64bit
- ベストアンサー率51% (45/88)
SendInput関数を使います http://msdn.microsoft.com/ja-jp/library/cc411004.aspx
補足
ありがとうございます。 当方知識が乏しく具体的な使用方法がわからないのですが、 VC++で"S”を自動的に入力するにはどうしたらよいか 教えていただけないでしょうか?
お礼
ありがとうございます。 そのまま使えてしまいました。 ご親切感謝です。