2016-08-17 74 views
0

我试图杀死“资源管理器”,当我的Unity应用程序正在运行。 在编辑器中,通过使用System.Diagnostics.Process.GetProcessesByName(“explorer”);我能够发现并杀死这个过程而不会出现问题。Unity C#Process.GetProcesses()在编辑器与运行时间中产生不同的结果

但是,在编译的应用程序中使用相同的代码将返回一个空数组。用Process.GetProcesses()打印出所有可用的进程我注意到,在编辑器中我可以访问更多的进程,然后在编译的应用程序中执行。

我已经尝试运行编译的应用程序作为管理员,我也尝试从C:\ Program Files运行相同的结果的应用程序。

我的暂时解决方法是运行杀死windows资源管理器的统一应用程序中的.bat文件。

我不知道是什么问题。任何帮助是极大的赞赏。

+0

更可能是因为它是一个值得信赖的应用程序。我无法理解为什么你会杀死浏览器,尤其是使用Unity应用程序? – MiltoxBeyond

+0

这是一个触摸屏亭。在较新版本的Windows中,MS增加了全局手势(例如从屏幕外滑动),使用户能够退出应用程序或访问操作系统的其他部分。有几种方法可以禁用这些全局手势,但它们不适用于所有硬件配置。杀死资源管理器是我发现禁用这些功能的唯一可靠方法。 – znerolnoht

回答

1

解决方案:在构建设置中,我将应用程序更改为64位(x86_64)。一旦我这样做,编写的应用程序就可以访问包括资源管理器在内的所有进程。

相关问题