mfc 调用bat文件无限弹窗是什么原因,手动打开这个bat文件可以正常执行
发布网友
发布时间:2022-04-29 01:13
我来回答
共1个回答
热心网友
时间:2023-10-03 01:53
是否为系统的UAC 没有开启导致。开启方法自己网上找,或者你WIN7是在 域环境下运行无法提升权限导致
用下面代码可以解决重复运行的情况。但无法提权也会运行bat .你可以加上判断。
@echo off
rem 兼容xp win7
%1 %2
ver|find "5.">nul&&goto :startbat
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :startbat","","runas",1)(window.close)&goto :eof
:startbat
rem 你bat 代码
pause
下面是我加了判断
@echo off
%1 %2
ver|find "5.">nul&&goto :main
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if "%errorlevel%" neq "0" mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :main h","","runas",1)(window.close)&goto :eof
:main
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if "%errorlevel%"=="0" (if "%3"=="h" (echo 你获取了管理员权限) else (echo 你有管理员权限)) else (echo 你获取不到管理员权限,执行可能会有问题)
pause