こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

バックグラウンドでもキャプチャできるソフトは?

特定ウィンドウをキャプチャ対象にして、そのウィンドウがバックグラウンド状態になっても継続してキャプチャできるソフトはありませんか?
(他のウィンドウを操作中でも継続してキャプチャしたい)
対象OS:Windows10、MacOSどちらでも。

動画・静止画どちらのキャプチャでもOKですが、
静止画の場合は定期間隔(秒指定)でのキャプチャ機能があるソフトが最適です。

よろしくお願いいたします。

投稿日時 - 2019-02-07 11:00:19

QNo.9585445

bgn

困ってます

質問者が選んだベストアンサー

静止画で一定間隔でというのはWindows7 32bit環境ではUWSCを使って一応できました。バックグラウンドでも撮れましたが、最小化すると内容は見えませんでした。あいにくWindows10では試せないのですが、やりようはあると思います。スクリプトを末尾に添付します。要設定項目は先頭の2行。


キャプチャソフト単体では無理であっても、画面を増やしてウィンドウが重ならないようにすればキャプチャのしようがないってことはないと思います。物理的に画面を増やすこともできますし、多少面倒ではありますが、Virtual Display Driver(仮想ディスプレイドライバ)というものもあります。無料のものが各種あり、Windows10対応のものも出ているようです。

参考:
開いているWEBページを定期的にキャプチャしたい
https://okwave.jp/qa/q8832777.html


以下スクリプト。全角空白を半角空白などに置換した後拡張子uwsで保存して読込みます。
capterm = 1/4 //画像の取得間隔[秒]
wintitle = "notepad" //識別したいウィンドウのタイトルを指定。ヘルプのGETIDの項も参照

tnextcap = 0 //この時刻を過ぎたらキャプチャ実行
dbg_skip = 0
WHILE True //無限ループ。実行を停止するまで繰り返し
  wid_captarget = GETID(wintitle)
  IF wid_captarget < 0
    MsgBox("キャプチャ対象のウィンドウが見つかりません")
    EXIT
  ELSE
    tim = GETTIME() //取得した値はG_TIME_~で参照

    tnow = tim + G_TIME_ZZ / 1000
    IF tnextcap < tnow
      filenam = G_TIME_YY4 + G_TIME_MM2 + G_TIME_DD2 + G_TIME_HH2 + G_TIME_NN2 + G_TIME_SS2 + G_TIME_ZZ2 //時刻をファイル名に。拡張子はないがUWSCがつける
      //SAVEIMG(filenam, wid_captarget,,,,,,100) //JPEG指定の例。詳細はヘルプ参照
      SAVEIMG(filenam, wid_captarget) //条件にもよるでしょうが、私の環境でVGAサイズ程度の場合こちらのほうが高速でした。
      tmp = (tnow - tnextcap)/capterm //この値の整数部はコマ落ちしたフレームの数でもあります
      tmp = VAL(TOKEN(".", tmp)) //整数部
      tnextcap = tnextcap + (tmp+1) * capterm //tnextcapをcapterm単位で増やす。
      PRINT tmp + "drop " + G_TIME_NN2 + G_TIME_SS2 + "." + G_TIME_ZZ2 + " " + tnextcap + " " + dbg_skip //dbg
      //dbg用なので不要ですが残しました。コマ落ちの様子が分かります
      dbg_skip = 0
    ELSE
      Sleep(0.001) //ここで指定した時間[秒]休止
      //長いほうが負荷は低くなるのですが
      //実際の停止時間は指定よりかなり長いようです。
      //1ms指定で30ms程度、0.1ms指定で10ms程度でした(おそらく環境依存)
      //フレームレートを数fps以上にするならもっと短くしたほうがいいかも
      dbg_skip = dbg_skip + 1
    ENDIF
  ENDIF
WEND

投稿日時 - 2019-02-09 23:22:00

お礼

ありがとうございます。
UWSCを用いることでバックグラウンドでもキャプチャすることができました。
Windows10でも問題ありませんでした。
Windows10標準の仮想デスクトップにてフォーカスのないデスクトップのウィンドウを対象にしても問題なくキャプチャできました。

投稿日時 - 2019-04-25 23:58:50

ANo.2

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

>バックグラウンド状態になっても------ソフトはありませんか?

無い。


ディスプレーに表示されている画面(画像)がターゲットなので
 そもそも対象がバックグラウンド状態なら
  画像が画面に表示されていないのでキャプチャー出来ない。

投稿日時 - 2019-02-07 11:53:37

あなたにオススメの質問