クリップボード内を空にしてすぐkeybd_event()を呼ぶと・・

解決


jun  2005-09-08 15:45:31  No: 58909  IP: [192.*.*.*]

クリップボード内を空にした後、キーボードイベントを呼び出すと、画面の情報が取得できません。

どうしてなのでしょうか?

OpenClipboard();
EmptyClipboard();
CloseClipboard();

keybd_event(VK_SNAPSHOT, 0, 0, 0);

if(IsClipboardFormatAvailable(CF_DIB )){
   //ok
}
else{
   //err
   こっちにきてしまう。
}

編集 削除
PATIO  2005-09-08 16:36:57  No: 58910  IP: [192.*.*.*]

一旦関数から抜けてOSに制御を返してやらないとだめなんじゃないかと
思うんですけれど。
キーイベントを投げた後、タイマーでもかけておいて関数を抜けて
OnTimer側で処理をしてみるとか試してみてはどうでしょう。

編集 削除
jun  2005-09-08 17:06:34  No: 58911  IP: [192.*.*.*]

OSに制御を返してからやったところうまくいきました。
ありがとうございました。m(_ _)m

編集 削除