zoukankan      html  css  js  c++  java
  • 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('录制完成
    D:\ffmpegTest\video\'+video+'.flv')
    			}
  • 相关阅读:
    js的基本数据类型有哪些?
    UML 类图
    三种代理模式
    jsp 知识点
    httpServlet
    Qt时间&日期
    Microsoft visual studio C 运行时库 在 xx.exe中检测到一个错误
    C++调用COM之错
    PCL中的bug修改
    Qt使用SQLite
  • 原文地址:https://www.cnblogs.com/lydg/p/11362827.html
Copyright © 2011-2022 走看看