gpt4 book ai didi

c++ - ShellExecute() 不适用于 .bat 文件

转载 作者:太空狗 更新时间:2023-10-29 23:36:22 25 4
gpt4 key购买 nike

我尝试使用 win32 api 在 c++ 中执行以下 bat 文件。以下是执行代码。

  //#include "Shellapi.h"
#include "Windows.h"
int _tmain(int argc, _TCHAR* argv[])
{
ShellExecute(GetDesktopWindow(), "sa.bat","", NULL, NULL, SW_SHOWNORMAL);
DWORD LastError = GetLastError();
return 0;
}

但它不起作用。

以下是内容“sa.bat”

C:\windows\system32\wusa/uninstall/kb:2718695/quiet/forcerestart

但最后一个错误返回 1155。

最佳答案

试试这个:

//#include "Shellapi.h"
#include "Windows.h"
int _tmain(int argc, _TCHAR* argv[])
{
HINSTANCE hReturnCode=ShellExecute(NULL, _T("open"), _T("cmd.exe"), _T("/C sa.bat"), NULL, SW_SHOWNORMAL);
DWORD LastError = GetLastError();
return 0;
}

[编辑]这个工作建议来自 Chris:

    //#include "Shellapi.h"
#include "Windows.h"
int _tmain(int argc, _TCHAR* argv[])
{
HINSTANCE hReturnCode=ShellExecute(NULL, _T("open"), _T("sa.bat"), NULL, NULL, SW_SHOWNORMAL);
DWORD LastError = GetLastError();
return 0;
}

关于c++ - ShellExecute() 不适用于 .bat 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16621911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com