【发布时间】:2018-12-04 10:56:38
【问题描述】:
我有一个 Inno Setup 安装,它在完成后成功运行了一个批处理文件。批处理请求管理员权限,获取它们并执行操作。
我被要求完全隐藏提示窗口,所以我在 Inno Setup 中添加了“标志:runhidden”,并在批处理中添加了 @echo off 和 >nul 2>nul。但是批处理还是会闪一个提示窗口,原因是这样的:
if not "%1"=="am_admin" (powershell start -verb runas '%0' am_admin & goto
batch & exit /b)
EXIT /b
:batch
---MyCodeHere---
这段代码不是我自己写的,也不是批处理编程方面的专家,但我很确定这些行会打开一个具有管理员权限的新提示,这就是提示闪烁。
有谁知道这个问题有没有解决办法?也许一些标志要添加到“powershell start”,或者另一种完全不同的方式来完成这项任务。
提前谢谢大家
【问题讨论】:
-
也许只是使用 vbs 将其隐藏起来,包括任何闪烁。
Set MyScript = CreateObject("WScript.Shell") MyScript.Run "D:\SomeDir\scriptname.cmd", 0, False然后启动 vbs 脚本。
标签: batch-file permissions inno-setup admin prompt