怎么用MFC运行bat文件?

怎么用MFC运行bat文件?,第1张

ShellExecute函团搭数,各参数含义,以及头文件自己穗凳找找。

CString strFile = _T("猜或旅E:\\1.bat")

ShellExecute(NULL, _T("open"), strFile, _T(""), NULL, SW_HIDE)

是否为系统的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

1.CreateProcess

2.ShellExecute

ShellExecute(NULL,_T("open"),GetAppPath()+_T("Install.bat"),NULL,NULL,SW_SHOW)

//GetAppPath()+_T("Install.bat"绝岁) 改为罩神你并闷睁要的绝对路径

3.WinExec


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8199347.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存