c++ - ShellExecute 失败 : ERROR_FILE_NOT_FOUND

标签 c++ qt winapi shellexecute admin-rights

我正在尝试使用我自己的具有管理员权限的启动器来启动我的应用程序。启动器适用于我的 64 位 Win7 但不适用于我的 32 位 WinXP 计算机。 我使用的代码是这样的:

wstring fullAppPath = "myapp.exe";
ShellExecuteW(NULL,
             L"runas",                       //admin rights
             fullAppPath.c_str(),
             NULL,                           //startup params
             NULL,                           //default dir
             SW_SHOWNORMAL
             );

我在 Qt IDE 中使用 MSVC 2010 32 位编译器,启动器应用程序和主应用程序位于同一目录中,不是 C:\Windows\System32。 在我的 WinXP 计算机上,我每次启动启动器时都会收到 ERROR_FILE_NOT_FOUND 错误。 (值 2) 我该如何解决这个问题?

最佳答案

解决方案是使用绝对路径而不是相对路径。

关于c++ - ShellExecute 失败 : ERROR_FILE_NOT_FOUND,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20166724/

相关文章:

c++ - 设计和可读性

c++ - 将一个整数拆分成它的数字 C++

python - QWidget showFullScreen 产生多个resizeEvents

qt - 为什么将 Widget 嵌入到基于 Qml 的应用程序中是不好的想法

c++ - 即使 CMenu 当前打开,如何强制 LVN_HOTTRACK 始终触发

c# - 如何使用 Windows API 将输入发送到 Visual Studio

c++ - 为什么通过指针分配给常量没有效果?

c++ - 如何控制第三方库代码中的内存分配策略?

c++ - 样式化 QComboBox 弹出框的边框

matlab - 使用 MATLAB 从另一个应用程序中的控件获取文本