C# Windows登录界面进行截图,控制鼠标键盘等操作实现(一)

首先常规的账户进程是没办法获取登录界面的信息的,因为登录界面已经不在某个账户下了,登录界面显示了每一个账户的切换。所以得使用System权限的进程。

那么Windows系统究竟是怎么将登录界面与用户桌面隔离开的呢?首先先通过一些Windows操作系统基础知识了解一下。

Windows窗口工作站(Window Station)是Windows操作系统中的一个概念,它提供了用户交互的桌面环境。

在Windows操作系统中,下列是一些常见的窗口工作站:

  1. WinSta0:WinSta0是默认的窗口工作站,也被称为"连接窗口工作站"(Connected Window Station)。它为用户登录会话提供用户界面,处理用户的输入和输出。大多数交互式用户进程在此窗口工作站中创建和运行。(由WinLogin.exe进程初始化 )所以截图的进程必须是在WinSta0工作站

  2. Service-0x0-3e7$:这是一个服务窗口工作站,用于托管系统服务。它提供了一个独立的工作环境,使得服务可以在后台执行,与用户界面分离。

  3. Service-0x0-4e3:这是另一个服务窗口工作站,类似于Service-0x0-3e7,用于托管更多的系统服务。

除了这些常见的窗口工作站,Windows操作系统还允许创建自定义的窗口工作站来满足特定需求。每个窗口工作站都有一个唯一的标识符(Window Station Identifier),并且可以包含一个或多个会话(Session),为不同的用户提供独立的工作环境。

需要注意的是,一般的用户只能访问以其自身会话关联的窗口工作站。系统服务通常在相应的服务窗口工作站中运行。

Winsta0(Windows Station 0)窗口工作站中,可以包含多个桌面。具体有以下几种类型的桌面:

  1. **Winlogon桌面:Winlogon桌面是用于用户登录和注销的桌面。**当用户登录时,系统会创建一个新的Winlogon桌面,用于显示用户登录界面和处理登录过程中的各种操作。当用户注销时,该桌面会被销毁。

  2. Default桌面:Default桌面是Winsta0窗口工作站的默认桌面 。它是在用户登录之前创建的桌面,用于显示Windows操作系统的初始界面和用户登录之前的准备工作。截图的进程必须是Default桌面****

  3. ScreenSaver桌面:ScreenSaver桌面是用于显示屏保程序的桌面。当系统闲置一定时间后,屏保会启动,并在ScreenSaver桌面上显示屏保程序。

  4. 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进程一致。

从上面的基本概念中我们总结一下如果要在登录界面截图,需要满足以下条件:

  1. Winsta0窗口站+Default桌面。因为截图需要用用户桌面交互,所以进程必须在Winsta0\Default桌面下。
  2. Session为当前登录账户对应Session,不能为Session 0。
  3. 进程需要System权限。
  4. 进程需要与winlogon一样的访问权限,并且一样的Session id**。(通过复制winlogon.exe进程的访问令牌赋给该进程实现)**
相关推荐
集芯微电科技有限公司14 天前
四通道2A输出集成功率电感降压模块专为紧凑型方案设计
人工智能·单片机·嵌入式硬件·生成对抗网络·计算机外设
lichong95114 天前
让AI自己用电脑!Cua:后台操作鼠标键盘,Mac/Windows/Linux全支持
人工智能·macos·ai·计算机外设·agent·提示词
Saniffer_SH15 天前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
阿泽·黑核15 天前
05 keyflow 扩展设计方案:矩阵键盘/组合键/事件队列/中断驱动
线性代数·矩阵·计算机外设·嵌入式·agent·vibe coding
科技每日热闻15 天前
618 AI显示器选购指南!爱攻AGON AI定制芯片电竞显示器AG277UX,适合哪些玩家?
人工智能·科技·游戏·计算机外设
科技每日热闻15 天前
舒视蓝4.0 AI版!EVNIA弈威海王星系列护眼电竞显示器27M4P5501U来袭
人工智能·科技·游戏·计算机外设
开开心心_Every16 天前
界面干净的开源免费电视浏览器
人工智能·科技·智能手机·计算机外设·rabbitmq·语音识别·etcd
智塑未来18 天前
2026高性价比商用护眼显示器调研:飞利浦护眼技术与售后体系深度解析
计算机外设
移远通信18 天前
显示器-调试
单片机·嵌入式硬件·计算机外设
Legendary_00818 天前
LDR6020P:iPad 一体式皮套键盘 OTG 应用的核心引擎
ios·计算机外设·ipad