我试图杀死"探险家"当我的Unity应用程序运行时。 在编辑器中,使用System.Diagnostics.Process.GetProcessesByName(" explorer");我能够毫无问题地找到并杀死这个过程。
但是,在编译的应用程序中使用相同的代码会返回一个空数组。使用Process.GetProcesses()打印出所有可用的进程我注意到在编辑器中我可以访问更多进程,然后在编译的应用程序中进行访问。
我已尝试以管理员身份运行已编译的应用,我也尝试使用相同的结果从C:\ Program Files运行应用。
我目前的解决方法是从我的统一应用程序中运行一个杀死Windows资源管理器的.bat文件。
我不确定是什么问题。任何帮助是极大的赞赏。
答案 0 :(得分:2)
解决方案:在构建设置中,我将应用更改为64位(x86_64)。完成此操作后,已编译的应用程序可以访问包括资源管理器在内的所有进程。