c# - 关闭以其他用户身份以编程方式启动的资源管理器

标签 c# explorer kill-process

是否可以终止在我的代码中以其他用户身份启动的进程 explorer.exe

我没有权限终止进程explorer.exe,因为我的代码是由当前用户运行的。

我必须以用户身份运行它,该用户用于启动 explorer.exe,但如何运行?

Process[] pp = Process.GetProcessesByName("explorer");
ArrayList processIDs = new ArrayList();


foreach (Process p in pp)
{
     p.kill();                
}

我还尝试了p.CloseMainWindow()。它关闭了资源管理器窗口,但也出现了 Windows 关闭窗口。如何防止出现此窗口?

最佳答案

您可以使用ProcessStartInfo.UserName属性:

 Process[] pp = Process.GetProcessesByName("explorer");
 ArrayList processIDs = new ArrayList();

 foreach (Process p in pp)
 {
      if(p.StartInfo.UserName == "user name")
      {
           p.kill();
           break; 
      }
 }

关于c# - 关闭以其他用户身份以编程方式启动的资源管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21131905/

相关文章:

c# - 使用 C# 的相对路径

c# - 在 C# 更新面板刷新后运行 Javascript

c# - CountdownEvent 与 Barrier 的多线程用法?

c# - 使用 File.SetCreationTime 和 File.SetLastWriteTime 使 Windows 资源管理器隐藏文件的这些详细信息

batch-file - CMD:文件任务,打开目录并选择文件

c# - 文件读取外来字符

windows - 如何在 Windows 上的 Windows 资源管理器中打开 ftp 链接?

hadoop - Apache Spark完成后将杀死所有用户进程

mysql - 如何在不断开连接的情况下使用 Node.js 终止 MySQL 查询?

Java 程序以 java 结果 : 137 终止