无法从Qt启动微软管理控制台管理单元
Cannot launch Microsoft Management Console snap-in from Qt
我正在尝试用另一个程序运行一个程序。为此,我使用了一个类QProcess.
程序必须以管理员权限运行。为了简化分步调试并提供示例,我使用特权管理员启动qt creator。
现在是有趣的部分。
下面的代码运行计算器。
QProcess * p = new QProcess();
p->start("C:\Windows\System32\calc.exe");
p->waitForStarted();
delete p;
这段代码可以工作。现在再看一个例子,它已经运行了服务窗口。
QProcess * p = new QProcess();
p->start("C:\Windows\System32\services.msc");
p->waitForStarted();
delete p;
此代码不运行程序services.msc。文件存在,并且从命令行运行没有任何问题。
为什么一个可以而另一个不行?如何修复?
Windows 7 x86
简短的回答: .msc
不是可执行文件类型。
长答:
.msc
被称为Microsoft管理控制台的管理单元。
从命令提示符,甚至从Start -> Run (win + R),运行services.msc
告诉操作系统嘿,运行这个文件与.msc
文件相关联的任何程序。
该程序特别称为mmc.exe,甚至当从命令提示符运行services.msc
并查看任务管理器时,您将看到该窗口实际上属于services.exe。
mmc.exe services.msc
或cmd.exe /C services.msc
。
相关文章:
- 当vector是tje全局变量时,c++中vector的内存管理
- 如何维护资源管理器项目视图中当前可见的项目列表
- 如何在GTK程序运行时禁用屏幕保护程序/电源管理/屏幕消隐
- 资源管理设计模式
- 使用"Task"函数指针队列定义作业管理器
- 实现动态插件管理器
- Alt+Enter 在 Win32 应用中,管理大小调整和分辨率
- libcurl 和 DNS ttl 中的内部连接管理
- 当分配一个字符串值并稍后通过分配另一个值进行更改时C++如何管理内存?
- 在C++管理一家中国.txt
- 编译器资源管理器和 GCC 具有不同的输出
- 我们可以通过 IPC 传递具有动态管理成员的类对象吗?
- 使用 Git 处理 C++ Visual Studio 2019 解决方案的外部依赖项源代码管理的最佳方法是什么?
- Q没有管理权限的 exe 无法启动维护工具
- QT:管理来自 QNetworkReply 的回复
- c ++ 是否有任何用于列出 Windows 驱动程序管理器控制台中显示的设备驱动程序的 Windows API?
- 为什么Windows服务控制管理器需要几分钟来处理请求
- SetupDi API:以编程方式控制设备管理器功能
- 这是否提供自动内存管理以及内存控制?shared_ptr< unique_ptr<数据> >?
- 创建特殊文件夹(如控制面板或计算机管理)的快捷方式