南京企业网站搭建,自己建设小城市网站得多少钱,怎么样做企业模板网站,深圳企业网站制作维护首先常规的账户进程是没办法获取登录界面的信息的#xff0c;因为登录界面已经不在某个账户下了#xff0c;登录界面显示了每一个账户的切换。所以得使用System权限的进程。 那么Windows系统究竟是怎么将登录界面与用户桌面隔离开的呢#xff1f;首先先通过一些Windows操作系… 首先常规的账户进程是没办法获取登录界面的信息的因为登录界面已经不在某个账户下了登录界面显示了每一个账户的切换。所以得使用System权限的进程。 那么Windows系统究竟是怎么将登录界面与用户桌面隔离开的呢首先先通过一些Windows操作系统基础知识了解一下。 Windows窗口工作站(Window Station)是Windows操作系统中的一个概念它提供了用户交互的桌面环境。 在Windows操作系统中下列是一些常见的窗口工作站 WinSta0WinSta0是默认的窗口工作站也被称为连接窗口工作站(Connected Window Station)。它为用户登录会话提供用户界面处理用户的输入和输出。大多数交互式用户进程在此窗口工作站中创建和运行。(由WinLogin.exe进程初始化)所以截图的进程必须是在WinSta0工作站 Service-0x0-3e7$这是一个服务窗口工作站用于托管系统服务。它提供了一个独立的工作环境使得服务可以在后台执行与用户界面分离。 Service-0x0-4e3$这是另一个服务窗口工作站类似于Service-0x0-3e7$用于托管更多的系统服务。 除了这些常见的窗口工作站Windows操作系统还允许创建自定义的窗口工作站来满足特定需求。每个窗口工作站都有一个唯一的标识符(Window Station Identifier)并且可以包含一个或多个会话(Session)为不同的用户提供独立的工作环境。 需要注意的是一般的用户只能访问以其自身会话关联的窗口工作站。系统服务通常在相应的服务窗口工作站中运行。 在Winsta0(Windows Station 0)窗口工作站中可以包含多个桌面。具体有以下几种类型的桌面 Winlogon桌面Winlogon桌面是用于用户登录和注销的桌面。当用户登录时系统会创建一个新的Winlogon桌面用于显示用户登录界面和处理登录过程中的各种操作。当用户注销时该桌面会被销毁。 Default桌面Default桌面是Winsta0窗口工作站的默认桌面。它是在用户登录之前创建的桌面用于显示Windows操作系统的初始界面和用户登录之前的准备工作。截图的进程必须是Default桌面 ScreenSaver桌面ScreenSaver桌面是用于显示屏保程序的桌面。当系统闲置一定时间后屏保会启动并在ScreenSaver桌面上显示屏保程序。 Disconnect桌面Disconnect桌面是用于存储用户会话在断开连接时的当前状态。当用户通过远程桌面或其他方式与计算机建立连接后会话会从Disconnect桌面恢复并将用户从上一次断开连接时的状态和数据恢复到当前会话中。 而在 Windows 操作系统中一个会话(session)拥有多个工作站和窗口。只能拥有一个交互式工作站(Winsta0)。Session ID 为 0 表示的是系统(System)进程的 Session ID。这通常与默认的 Windows Station(Winsta0)相对应用于展示 Windows 操作系统的初始界面和用户登录以及注销等操作。 系统服务在Session 0中。而Session 1对应于第一个登陆的用户Session 2对应于第二个登录系统的用户以此类推。各个Session之间是相互独立的。在不同Session中运行的实体相互之间不能发送Windows消息、共享UI元素。 截图的进程sesion id与winlogon进程一致。 从上面的基本概念中我们总结一下如果要在登录界面截图需要满足以下条件 Winsta0窗口站Default桌面。因为截图需要用用户桌面交互所以进程必须在Winsta0\Default桌面下。Session为当前登录账户对应Session不能为Session 0。进程需要System权限。进程需要与winlogon一样的访问权限并且一样的Session id。(通过复制winlogon.exe进程的访问令牌赋给该进程实现)