アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (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の行をなくせば良い。
    • good
    • 0
この回答へのお礼

ありがとうございます。
そのまま使えてしまいました。

ご親切感謝です。

お礼日時:2008/05/16 17:17

この回答への補足

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

補足日時:2008/05/15 22:31
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!