·
编程学习 ·
270919
场景:用js执行本地的安装软件,如果不存在就执行安装
操作步骤:
1.前台js代码
<script type="text/javascript">
function exec () {
var command;
var shell = new ActiveXObject("WScript.Shell");
try
{
command = shell.RegRead("HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\Directory\\shell\\RadiAnt\\Icon");//从注册表获得软件安装路径
}
catch(e)
{
if(window.confirm("你可能还没有安装Radiant,请下载安装")){
//alert("确定");
window.location.href="jspView/radiantsetup32312921.exe";
return false;
}else{
return false;
}
}//执行exe程序
window.oldOnError = window.onerror;
window._command = command;
window.onerror = function (err) {
if (err.indexOf('utomation') != -1) {
alert('命令' + window._command + ' 已经被用户禁止!');
return true;
}
else return false;
};
var wsh = new ActiveXObject('WScript.Shell');
if (wsh)
wsh.Run("\""+command); //解决目录包含空格问题
window.onerror = window.oldOnError;
}
</script>
执行exec()就能调用本地软件了
以下是需要注意的几点
1.该程序只能在IE上执行
2.注册表路径的查找步骤
右键-复制项名称
3.想要执行改程序必须更改本地的浏览器安全级别
否则报错:ERROR:Automation 服务器不能创建对象
具体参考百度文档:http://jingyan.baidu.com/article/ae97a646d43dc8bbfd461d0b.html
js通过注册表找到本地软件安装路径并且执行的相关教程结束。
运行python-mensurepip--upgrade--default-pip可重建pip.exe;若报Nomodulenamedensurepip,则需离线下载get-pip.py安装;Python3.12+默认不生成pip.exe,但功能等价;PATH配置错误或虚拟环境无pip也是常见原因。...
根本原因是Windows任务计划程序默认工作目录为C:\Windows\System32,导致相对路径失效;需强制切换工作目录、使用绝对路径、配置完整Python解释器路径、显式添加环境变量、重定向日志并启用历史记录。 任务计划程序中Python脚本找不到模块或文件 根本原因不是Python本身出错...
不能直接用eval,因为它会执行任意Python表达式,包括危险操作如os.system;ast.literal_eval仅安全解析str、int、list等无副作用字面量,不支持函数调用或运算符,且对语法格式极其严格。 为什么不能直接用eval 因为eval会执行任意Python表达式,包括调用函...
直接修改sys.path不推荐长期使用,仅适用于临时调试等场景;其不生效主因是模块已缓存于sys.modules,须在首次import前操作,且路径顺序、有效性及环境隔离需严格注意。 直接改sys.path能解决导入问题,但不推荐作为长期方案;它适合临时调试、打包后路径未知或嵌入式场景,用错位置或顺...
wheel安装快是因为跳过编译环节,直接解压预编译的二进制模块到site-packages;编译环节需调用gcc等工具构建C扩展,耗时且依赖本地开发环境。 wheel文件安装快,是因为它跳过了编译环节——你拿到的就是已经编译好的字节码或平台原生二进制模块,直接解压、校验、复制到site-packag...
__file__是唯一可靠起点,因它始终指向当前脚本文件路径;直接拼接会因平台差异和打包失效而出错,正确做法是用pathlib.Path(__file__).parent获取脚本目录再安全拼接,或通过sys._MEIPASS兼容打包环境。 为什么__file__是起点,但直接用它会出错 Python...
本文详解如何在Python类方法中通过exec动态定义函数,并使其能安全访问当前实例(self)的属性与方法,适用于调试交互场景(如pdb会话)及用户驱动的动态函数生成需求。 本文详解如何在python类方法中通过`exec`动态定义函数,并使其能安全访问当前实例(`self`)的属性与方法,适用于...
本文详解如何在Python类方法中通过exec()动态定义函数并安全访问self(包括属性和方法),解决因作用域隔离导致的NameError:name'self'isnotdefined问题,适用于调试交互式场景(如pdb)。 本文详解如何在python类方法中通过`exec()`动态定义函数并安全...