keybord_eventを使っての画面キャプチャがうまくできません

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: keybord_eventを使っての画面キャプチャがうまくできません

解決しました

by まこちn+- » 2010年3月01日(月) 23:59

HSABPさん ありがとうございました

konisiさんのご指導のあとで 自分なりにタイミングを疑って

その他のコマンドを前後させていたときに OpenClipBord が

2行になってしまったのが原因でした ほんとに ど素人なミスで

反省しております

本当に ありがとうございました 

とりあえず コピペでやってみたのですが・・・

by まこちn- » 2010年3月01日(月) 23:30

ご指導ありがとうございます

なにぶん素人なため とりあえずコピペでコンパイルしてみましたが

うまくいかず 2回クリックでも読めなくなりました

知らない コードだらけなので 一つずつ調べてみます

by HSABP » 2010年2月28日(日) 23:09

keybd_event()を呼んだ後にメッセージを処理させます。

コード: 全て選択


'ボタンが押された
Sub MainWnd_CommandButton1_Click()
  keybd_event(VK_SNAPSHOT, &h79, KEYEVENTF_EXTENDEDKEY, 0)
  keybd_event(VK_SNAPSHOT, &h79, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0)
  DoEvents()
  
  If IsClipboardFormatAvailable(CF_BITMAP) <> 0 then 
    MessageBox(hMainWnd,"ok",0,0)
   End If
End Sub

Function DoEvents()
  Dim m As MSG
  While PeekMessage(m,NULL,0,0,PM_REMOVE)
	TranslateMessage(m)
	DispatchMessage(m)
  Wend
  DoEvents= TRUE
End Function

keybord_eventを使っての画面キャプチャがうまくできません

by まこちn+ » 2010年2月28日(日) 12:33

コマンドボタンをクリックしたら画面をキャプチャして解析するプログラムを作っていますが 2回押さないと正常に動きません
何がおかしいのかさっぱりわからない状態です
どなたか教えてください

コード: 全て選択


Sub MainWnd_CommandButton12_Click() 
    Dim Ret As Long 
                                       : 
    keybd_event(VK_SNAPSHOT,0,0,0) 
    keybd_event(VK_SNAPSHOT,0,KEYEVENTF_KEYUP,0) 
    Ret=IsClipboardFormatAvailable(CF_BITMAP) 
    if Ret = 0 then 
        return 
    endif 
     'クリップボードのデータを格納 
  Ret=OpenClipboard(NULL) 
  hBit=GetClipBordData(CF_BITMAP) 

   
投稿先が違っていたようなので再送
konisiさん すばやいお返事ありがとうございます
Sleep はすでに試したのですが変化ありませんでした
MsgBoxでIsClipboardFormatAvailableのRetを表示すると
2回押しでもBitmapを検出できなくなるので 
もう何処をどう調べればいいか解らなくなってしまいました

どうか 解決策をご指南ください

ページトップ