h5页面调用cmd命令并隐藏cmd弹窗

Posted lydg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了h5页面调用cmd命令并隐藏cmd弹窗相关的知识,希望对你有一定的参考价值。

js代码

/***
通过js调用cmd命令利用ffmpeg实现录屏或者录像功能
***/
var  cmd = new ActiveXObject("WScript.Shell");
				
				/*

				命令参数说明

				cmd.exe /c dir 是执行完dir命令后关闭命令窗口。

				cmd.exe /k dir 是执行完dir命令后不关闭命令窗口。

				cmd.exe /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭。

				cmd.exe /k start dir 会打开一个新窗口后执行dir指令,原窗口不会关闭。

				*/
				
				video = Date.parse(new Date())
				var value = ‘D:/ffmpegTest/test.bat ‘+sUrl+‘ ‘+video//sUrl、video为传入test.bat文件的参数
				var cmd = new ActiveXObject("WScript.Shell");
				cmd.run("cmd.exe /c" + value,0);
				cmd = null;

特别注意:如果这样运行cmd.run("cmd.exe /c" + value),cmd框会一闪而过然后隐藏,必须写成cmd.run("cmd.exe /c" + value,0)这样,才会完全不显示。

bat脚本

@echo off 

if "%1"=="h" goto begin 

start mshta vbscript:createobject("wscript.shell").run("""D:/ffmpegTest/%~nx0"" h %1 %2",0)(window.close)&&exit 

:begin 

D:/ffmpegTest/ffmpeg -f gdigrab -i desktop D:/ffmpegTest/video/%3.flv -y

bat里对传入的参数通过%1~%9进行调用

另:对ffmpeg的使用,实现在页面上加一个按钮控制停止录像,可通过以下方法实现

function stopLp() 
				var  cmd = new ActiveXObject("WScript.Shell");
				cmd.run("cmd.exe /c taskkill /f /t /im ffmpeg.exe",0);
				cmd = null;
				alert(‘录制完成\nD\:\\ffmpegTest\\video\\‘+video+‘.flv‘)
			

 

以上是关于h5页面调用cmd命令并隐藏cmd弹窗的主要内容,如果未能解决你的问题,请参考以下文章

关于批处理cmd无限弹窗

用Javascript调用cmd并执行命令

如何用shell调用多条cmd命令

如何在C语言中调用cmd命令?

python如何向cmd发送命令

c#怎么调用cmd的命令呀?或者说怎么向cmd中写入命令?