我们有一个在Windows机器上运行的本机GUI应用程序,最近我们发现该应用程序意外终止。几天后我发现这种情况正在发生,因为应用程序是由explorer.exe
运行的,并且它会以某种方式随机地被意外杀死,因此它会导致所有子进程终止,包括我们的应用程序。
有没有办法调用/调用我们的应用程序作为系统进程(不是explorer.exe
)?
还假设应用程序/用户也具有管理员访问权限。
提前致谢。
答案 0 :(得分:3)
Killing explorer一般不会杀死其他进程。通过从任务管理器中删除资源管理器,可以很容易地验证自己。请注意,当您杀死资源管理器时,其他进程仍然存在。还有其他事情正在扼杀你的过程。
如果杀死探险家导致你的过程死亡,那么明显的解释是你的过程中的某些东西导致它的死亡。换句话说,问题很可能出现在你的代码中,你需要弄清楚那个问题是什么。
另请注意,资源管理器实际上并不是一个特殊的“系统进程”。这只是一个在登录用户令牌下运行的正常过程。
答案 1 :(得分:1)
您可能需要提供一些OS服务,然后以管理员身份运行该服务(作为系统启动运行),然后从该服务启动该应用程序,这将确保您的应用程序将以管理员身份启动而不需要{ {1}}(作为孩子)