• ベストアンサー

キーの自動入力

既存のアプリケーションをスタートするのに、”S”を 押すのですが、これを自動でスタートするように勝手に ”S”を入力するようにするにはどういったプログラムをすればよいのでしょうか? 初歩的な質問かもしれませんが、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.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の行をなくせば良い。

rairarai
質問者

お礼

ありがとうございます。 そのまま使えてしまいました。 ご親切感謝です。

その他の回答 (1)

  • 64bit
  • ベストアンサー率51% (45/88)
回答No.1
rairarai
質問者

補足

ありがとうございます。 当方知識が乏しく具体的な使用方法がわからないのですが、 VC++で"S”を自動的に入力するにはどうしたらよいか 教えていただけないでしょうか?

関連するQ&A