HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0315
Qu/Ca_t任意のプロセスをキャプチャ2未解決


Qu/Ca_t

リンク

2012/3/15(Thu) 13:17:58|NO.45424

任意のプロセスをキャプチャを撮る方法はありますか?
できれば保存先は予め決めておいて、保存先指定ウィンドウは開かないようにしたいです。



この記事に返信する


mamo

リンク

2012/3/15(Thu) 13:46:31|NO.45425

>できれば保存先は予め決めておいて、保存先指定ウィンドウは開かないようにしたいです。
プログラム内で指定された場所へ保存されます、選択肢を持たせるかどうかは作り次第なんです。

>任意のプロセスをキャプチャを撮る方法はありますか?
「撮る」とあるので、任意のソフトが動いたら自動で画像や動画として保存したいって事なら
起動しているかどうか監視させて、見つけたら撮影などとすれば良いって事かな?

ソフトのウィンドウ名の監視やプロセス自体の監視などを行い、後は撮影とすれば良いのでは。



cats

リンク

2012/3/17(Sat) 22:06:49|NO.45462

これでどうでしょうか。
http://hsp.tv/play/pforum.php?mode=pastwch&num=34620
ここを参考にしました。(というかごとんどエラーを防げるようにしただけです)

#include "user32.as" #include "gdi32.as" #module capture #define NULL 0 #define SRCCOPY 0x00CC0020 #define CAPTUREBLT 0x40000000 #deffunc WindowCapture str WindowTitle, int ID FindWindow NULL, WindowTitle // 指定されたタイトルのウィンドウハンドルを取得 handle = stat dim rect, 4 GetWindowRect handle, varptr( rect ); sx = rect( 2 ) - rect( 0 ) // ウィンドウサイズ横 sy = rect( 3 ) - rect( 1 ) // ウィンドウサイズ縦 sel = ginfo_sel // 操作先ウィンドウIDを記憶 if sx=0 or sy=0 :dialog "キャプチャするウィンドウが見つかりませんでした",1,"エラー" :end buffer ID, sx, sy, 0 // キャプチャするウィンドウサイズでバッファ作成 color 255, 255, 255 boxf GetWindowDC handle // デバイスコンテキストのハンドル取得 hdchandle = stat BitBlt hdc, 0, 0, sx, sy, hdchandle, 0, 0, SRCCOPY|CAPTUREBLT; ReleaseDC handle, hdchandle; // デバイスコンテキスト解放 gsel sel // 操作先ウィンドウを戻す return #global screen 0,640,480,0 gmode 1; *main await 200 WindowCapture "キャプチャするウィンドウのタイトル",1 pos 0,0 gcopy 1,0,0,sx@capture,sy@capture //描画する width sx@capture,sy@capture //ウィンドウの大きさを調整 ;goto *main //永久に監視したい場合 stop
書いてある通り最後から2行目を

goto *main
にするとループで永久に監視できます。



ONION software Copyright 1997-2021(c) All rights reserved.