使用 C++ 重新启动 explorer.exe

Posted

技术标签:

【中文标题】使用 C++ 重新启动 explorer.exe【英文标题】:Restarting explorer.exe using C++ 【发布时间】:2019-01-03 12:51:30 【问题描述】:

我已经看过这个帖子:How can I start explorer.exe via C++? 这是一个旧帖子。 我在玩批处理文件命令,我想用 C++ 复制这个函数

taskkill /f /im explorer.exe

start explorer.exe

我正在使用

系统(“”)

C++ 中的命令来实现它。这是代码:注意,杀死 explorer.exe 是有效的,但我无法再次启动它。

#include "pch.h"
#include <windows.h>
#include <iostream>

int main ()

  system("taskkill /f /im explorer.exe");
  system("explorer.exe");

它不是打开 explorer.exe 来恢复 windows UI,而是在 windows 中打开快速访问。有什么想法吗?

【问题讨论】:

可以手动启动吗? 手动?你的意思是打开任务管理器并启动一个进程?我可以。如果我在 .bat 文件中运行第一行代码,我会得到我想要的结果,但不是通过使用 C++,这是我的问题 好的,谢谢。有趣。 您只需要使用 CreateProcess 系统调用运行 explorer.exe 一个。详情请见over hire 也许你从程序开始 32 位探索? 【参考方案1】:

使用 cmd 将是%SystemRoot%\Explorer.exe 并且在 c ++ 中使用它将是 system("C:/Windows/Explorer.exe")

您的代码打开以下文件C:/windows/sistem32/explorer 什么是用户界面,你必须打开这个路径上的那个C:/windows/Explorer.exe 我希望它对你有用,运气..

例子

#include "pch.h"
#include <windows.h>
#include <iostream> 

int main ()

   system("taskkill /f /im explorer.exe");
   system("C:/windows/Explorer.exe");
```  

【讨论】:

以上是关于使用 C++ 重新启动 explorer.exe的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 上重新启动 Qt 或 c++ 中的程序?

服务器重新启动后重新连接到 QDBus 服务器 (Qt C++)

在 Visual C++ 中切换子进程窗口可见性而不重新启动子进程

在 C++ 中满足某些条件(如果)后,如何重新启动 while 循环? [关闭]

怎么用c++编写一个Windows服务程序来监控另一个程序,崩溃后重新启动。

应用程序重新启动 C++ Visual Studio 时保存编辑控件用户输入和恢复的有效方法