3

我正在尝试从 Qt Windows 应用程序上的按钮打开设备管理器。

我尝试了什么:将插槽/信号分配给按钮。和方法:

 QProcess *proc = new QProcess(this);
    QString cmdStr = "devmgmt.msc";
    proc->start(cmdStr);
    qDebug() << "btn clicked";

但是当我点击它时没有任何反应。单击的 btn 将显示在控制台中。

编辑:我也试过

cmdStr="mmc devmgmt.msc"

但也无法打开。

4

1 回答 1

3

好的,通过使用 QDesktopServices 设法让它工作。

QDesktopServices::openUrl(QUrl("file:///C:/Windows/System32/devmgmt.msc", QUrl::TolerantMode));

以下是您可能感兴趣的其他 Windows 应用程序的列表:

系统信息

命令提示符

QProcess::startDetached("\"C:\\Windows\\System32\\cmd.exe\"");

控制面板

QProcess::startDetached("\"C:\\Windows\\System32\\control.exe\"");

放大镜

QDesktopServices::openUrl(QUrl("file:///C:/Windows/System32/Magnify.exe", QUrl::TolerantMode));

注册表编辑

QDesktopServices::openUrl(QUrl("file:///C:/Windows/System32/regedt32.exe", QUrl::TolerantMode));

服务

QDesktopServices::openUrl(QUrl("file:///C:/Windows/System32/services.msc", QUrl::TolerantMode));

系统信息

QDesktopServices::openUrl(QUrl("file:///C:/Windows/System32/msinfo32.exe", QUrl::TolerantMode));

设置

QDesktopServices::openUrl(QUrl("file:///C:/settings", QUrl::TolerantMode));

探险家

system("explorer.exe");

任务管理器

QDesktopServices::openUrl(QUrl("file:///C:/Windows/System32/Taskmgr.exe", QUrl::TolerantMode));

磁盘清理

QProcess::startDetached("\"C:\\Windows\\System32\\cleanmgr.exe\"");

配置

system("C:/Windows/System32/msconfig.exe");

Windows 远程

QDesktopServices::openUrl(QUrl("file:///C:/Windows/System32/msra.exe", QUrl::TolerantMode));

资源监视器

QProcess::startDetached("\"C:\\Windows\\System32\\resmon.exe\"");

系统修复光盘

system("C:/Windows/System32/recdisc.exe");

内存诊断

QDesktopServices::openUrl(QUrl("file:///C:/Windows/System32/MdSched.exe", QUrl::TolerantMode));

系统还原

QDesktopServices::openUrl(QUrl("file:///C:/Windows/System32/rstrui.exe", QUrl::TolerantMode));

启动文件夹

QDesktopServices::openUrl(QUrl("file:///C:/Users/dclar.DESKTOP-JTNNAGR/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup", QUrl::TolerantMode));

运行命令

system("c:/windows/system32/rundll32.exe shell32.dll,#61");

驱动优化

QProcess::startDetached("\"C:\\Windows\\System32\\dfrgui.exe\"");

磁盘管理

system("C:/Windows/System32/diskmgmt.msc");

计算机管理

QDesktopServices::openUrl(QUrl("file:///C:/Windows/System32/CompMgmtLauncher.exe", QUrl::TolerantMode));

文本调谐器

QProcess::startDetached("\"C:\\Windows\\System32\\cttune.exe\"");

计算机服务

QDesktopServices::openUrl(QUrl("file:///C:/Windows/System32/dcomcnfg.exe", QUrl::TolerantMode));

装置经理

QDesktopServices::openUrl(QUrl("file:///C:/Windows/System32/devmgmt.msc", QUrl::TolerantMode));

直接 X 诊断

QProcess::startDetached("\"C:\\Windows\\System32\\dxdiag.exe\"");

文件历史

QProcess::startDetached("\"C:\\Windows\\System32\\FileHistory.exe\"");

蓝牙传输

QProcess::startDetached("\"C:\\Windows\\System32\\fsquirt.exe\"");

添加硬件

QDesktopServices::openUrl(QUrl("file:///C:/Windows/System32/hdwwiz.exe", QUrl::TolerantMode));

光盘标签

QProcess::startDetached("\"C:\\Windows\\System32\\label.exe\"");

语言安装程序

QProcess::startDetached("\"C:\\Windows\\System32\\lpksetup.exe\"");

恶意软件卸妆

QProcess::startDetached("\"C:\\Windows\\System32\\MRT.exe\"");

旁白

QDesktopServices::openUrl(QUrl("file:///C:/Windows/System32/Narrator.exe", QUrl::TolerantMode));

用户帐户

QDesktopServices::openUrl(QUrl("file:///C:/Windows/System32/Netplwiz.exe", QUrl::TolerantMode));

Windows 备份

QDesktopServices::openUrl(QUrl("file:///C:/Windows/System32/sdclt.exe", QUrl::TolerantMode));

创建共享文件夹

QDesktopServices::openUrl(QUrl("file:///C:/Windows/System32/shrpubw.exe", QUrl::TolerantMode));

系统关机

QDesktopServices::openUrl(QUrl("file:///C:/Windows/System32/shutdown.exe", QUrl::TolerantMode));

便利贴

QProcess::startDetached("\"C:\\Windows\\System32\\StikyNot.exe\"");

系统重置

QDesktopServices::openUrl(QUrl("file:///C:/Windows/System32/systemreset.exe", QUrl::TolerantMode));

四通八达的交通网络

QProcess::startDetached("\"C:\\Windows\\System32\\Utilman.exe\"");

写字板

QProcess::startDetached("\"C:\\Windows\\System32\\write.exe\"");
于 2018-04-24T04:15:44.603 回答