Hardware-04 キー・マウスを操作したことにする
Q [PrintScreen]キーを押すと、画面がコピーされます。これをプログラムで実現しようとすると、いろいろややこしい関数を使わなければならないようで、訳がわかりません。簡単な方法を。
A keybd_event関数を使います。
どう使う?
keybd_event(VK_SNAPSHOT,0,0,0) '[PrintScreen]を押したことにする
keybd_event(VK_SNAPSHOT,0,KEYEVENTF_KEYUP,0) '[PrintScreen]を離したことにする
この関数は、キーボードの指定したキーを操作したことにする関数です。
キーコードは、VK_ から始まる定数を使用してください(詳しくは検索してください)。
例えば、[PrintScreen]のキーコードは VK_SNAPSHOT となります。
第1引数にキーコード、第3引数は「押す」→0 「離す」→KEYEVENTF_KEYUP を指定し、あとは全て0を指定してください。
注意すべき点は、keybd_event関数は「押す」と「離す」の2つの動作が1組になるという点です。
「離す」をしなくても大事に至らない場合もあるかもしれませんが、これではキーを押した後いつまでも押しっぱなし、という状態になります。このため、常に「押したら離す」を頭に入れておいてください。…と私は解釈していますが、間違っていたら指摘してください。
もし、マウスを操作したい場合はmouse_event関数というものがあります。
ここで説明すると長くなりそうなので、詳しくはMSDNやABのヘルプを参照。