对于我的项目,我有一个GUI可执行程序启动了许多后台进程,这些进程彼此通信以对数据进行分区。最近,我通过GUI复制到另一台计算机,并重新编译了后台可执行文件以对其进行测试。
令我惊讶的是,当我尝试附加到Visual Studio中启动的进程时,在进程列表或任务管理器中找不到它们。最终,在搜索为任何用户运行的可执行文件之后,我发现进程在Windows 10的隔离模式“会话0”下运行,随后需要管理员权限才能调试它们!
我想在用户会话中运行这些可执行文件,然后,我首先需要了解是什么导致了它们在会话0中运行。什么可以促使可执行文件在该级别运行?
以下应用程序将在会话0中运行:
SendMessage
并PostMessage
与用户通信)的系统服务。如果您的应用程序不是作为系统服务运行,也不是在创建此类服务,则它必须在创建全局命名对象。
全局命名对象的对象名称以“ Global \”为前缀。这些通常是各种共享内存段或信号灯。您可以在“ GLOBAL ??”中使用WinObj查看它们。部分。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句