如何用资源管理器打开程序并传递参数
本帖最后由 心中的沉默 于 2021-12-7 16:03 编辑易语言代码
执行 (#打开文件, “explorer.exe”, 局_程序路径, , )
怎么传递参数进去呢?这个方法只能用资源管理器打开程序,不知道怎么传参进去
想用“explorer.exe”资源管理器来运行其他程序,实现降权运行其他程序,但是用给资源管理器传递路径参数的方法,没办法再给我要运行的程序传递参数 不可以这样吗?
执行 (#打开文件, 局_程序路径, 参数, , )
chaifengbox 发表于 2021-12-6 14:35
不可以这样吗?
执行 (#打开文件, 局_程序路径, 参数, , )
要降权运行,被运行的程序不需要管理员权限 好的吧,这个我确实不是很明白。我对易语言没那么了解。 chaifengbox 发表于 2021-12-6 14:44
好的吧,这个我确实不是很明白。我对易语言没那么了解。
原理都一样,只要搞明白原理就行了,有其他方法降权运行程序吗 我有同样的需求 我自己程序需要启动Potplayer同时命令行传递播放地址但如果主程序是管理员身份运行的话 新启动的Potplayer也是管理员权限运行的 没法拖放文件到Potplayer窗口
于是我只能通过笨方法实现
我单独写了一个 load.exe 程序用来进行中转,load.exe打开之后就会读取同目录load.ini里面的 要运行的程序路径 以及命令行参数 然后 运行( 程序路径+"" +命令行参数)
主程序里面把load.exe 写到临时目录 然后写配置 load.ini也写到临时目录 然后再 执行 (#打开文件, “explorer.exe”, load程序路径, , ) 延时几秒删掉load.ini 以免下次执行load.exe时重复操作
总的来说 就是 主程序 调用explorer启动我的load程序 load程序再带参数启动目标程序
Run丶Away 发表于 2021-12-6 14:47
我有同样的需求 我自己程序需要启动Potplayer同时命令行传递播放地址但如果主程序是管理员身份运行的话...
我也打算这样写了,很多方法尝试失败,还有一种方法,就是写批处理,然后用资源管理器运行这个批处理,由批处理传递参数,但是运行的程序很多的时候,就会出错。
目前没有找到完美的解决方法。 何故 发表于 2021-12-6 16:28
看一下我的方法咋样
我不用中专程序,用explorer自带的快捷方式解析就可以
https://www.52 ...
或者有没有除资源管理器以外的降权运行其他程序的方法 何故 发表于 2021-12-6 16:43
cmd.exe /c "O:\Windows\SysWOW64\notepad.exe" 我是好人
cmd.exe explorer.exe /c "O:\Windows\SysWOW6 ...
直接cmd 还是管理员,必须要用资源管理器 去运行 何故 发表于 2021-12-6 16:28
看一下我的方法咋样
我不用中专程序,用explorer自带的快捷方式解析就可以
https://www.52 ...
我考虑过这个方法 不知道是不是黑月的bug
创建快捷方式 这个指令用黑月编译之后是不会生效的