タイトル : Re^3: アクティブ ウィンドウのスナップショットを取得 投稿日 : 2011/03/02(Wed) 09:17 投稿者 : 花ちゃん
> Do Until Clipboard.GetFormat(vbCFBitmap) = True > DoEvents > Sleep (100) > Loop > 上記では、何らかのトラブルで、クリップボードに画像がコピーされない場合は、 延々と待機する事になりませんか? > sleepは余り使わないほうがよいということをたまに見かけますがいかがでしょうか。 個人的には、自分だけが承知の上で使っていて特に問題がなければいいかとは 思うのですが、やはり、使用しない方が無難でしょう。 > BMPファイルへの変換処理をとめているようにも思えます。 > Windowのサイズにより変わりますが1〜3秒程度かかっています。 > よい方法がありましたら教えてください。 私は、MS のサイトの Visual Basic で SetWaitableTimer を使用する方法をActiveX DLL で 作成して使用したり、MsgWaitForMultipleObjectsを使ったりしています。(最近では) http://support.microsoft.com/kb/231298/ja 又、簡単な方法なら、キーを押した後、タイマーコントロールを使って、何回か回数を 決めて、クリップボード内を調べるのがいいのではないでしょうか? (クリップボード内にコピーされない場合の事も考えて) |