我想在我的第二个监视器上捕获屏幕,目前我正在使用CmdCapture.exe应用程序在特定的时间间隔内进行屏幕截图,但它只从主监视器上捕获屏幕,所以我不知道如何使用CmdCapture.exe从辅助监视器上捕获屏幕。
我用下面的代码来截图:
var cmdScreenCaputeLocation:File = File.applicationDirectory.resolvePath("assets\\CmdCapture.exe");
var nativeProcessStartInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
nativeProcessStartInfo.executable = cmdScreenCaputeLocation;
var args: Vector.<String> = new Vector.<String>();
var uid:String = "tempImg"+imgCounter+"";
args.push("/f", (uid+".jpg"),"/d",""+screencaptureDir+"", "/q 70");
nativeProcessStartInfo.arguments = args;
var nativeProcess:NativeProcess = new NativeProcess();
nativeProcess.addEventListener(NativeProcessExitEvent.EXIT,screenCaptureNativeProcessComplated);
nativeProcess.addEventListener(ProgressEvent.STANDARD_ERROR_DATA,screenCapturOonErrorS);
nativeProcess.addEventListener(IOErrorEvent.STANDARD_INPUT_IO_ERROR,screenCaptureOnError);
nativeProcess.start(nativeProcessStartInfo);
imgCounter++;
因此,任何人都有一个想法,如何采取从二级监视器使用CmdCapture.exe或使用任何其他应用程序,可以在actionscript nativeprocess命令运行的屏幕截图,请帮助我。
1条答案
按热度按时间mpbci0fu1#
关于**BoxCutter**文档...
用法:
boxcutter [OPTIONS] [OUTPUT_FILENAME]
选项
-c
,=坐标X1、Y1、X2、Y2捕获矩形(X1,Y1)-(X2,Y2)。-f
,=全屏捕捉全屏。-h
,=帮助显示帮助消息。用法:
boxcutter -c -AA,BB,CC,DD testgrab.png
其中数字为:
AA
是沿着X轴(左/右)的起始原点BB
是沿着Y轴的起始原点(上/下)CC
是沿着X轴(左/右)的抓取宽度DD
是沿着Y轴的抓取高度(上/下)例如,让我们测试:屏幕1为宽=1280,高=800,屏幕2为宽=1024,高=768。
抓取示例:
1
,仅用途:boxcutter -c 0,0,1280,800 testgrab.png
个2
,仅用途:boxcutter -c 1280,0,2304,768 testgrab.png
1
和2
,一起用途:boxcutter -c 0,0,2304,800 testgrab.png
请注意,屏幕2在屏幕1的宽度结束后开始。因此,要同时抓取两个屏幕,
CC
必须是屏幕1+屏幕2的总宽度。对于高度DD
,必须使用最大高度(从这两个屏幕之一开始),以避免任何不必要的裁剪。在代码中尝试此操作
其中:myWidth&myHeight=抓取区域所需的宽度和高度。
PS:检查这个**Article**,因为它可能会帮助你设置多个显示器...