按Ctrl + Alt + Delete键WM消息编号

问题描述:

任何一个知道什么windows程序时按下按键按Ctrl + Alt键+德尔? 我问你按下这些键时返回的窗口过程消息编号。我想知道所有可能的Windows版本号(W7,XP,Vista,...)。按Ctrl + Alt + Delete键WM消息编号

+0

这取决于Windows版本。你瞄准哪一个? – ixe013 2012-02-20 17:51:26

+0

windows 7你知道吗???????? – 2012-02-20 17:56:40

+2

未来,请问你的实际问题,而不是你认为会回答你的实际问题的问题。你真正的问题是“你可以禁用Ctrl + Alt +删除在C#代码使用窗口过程?“ – 2012-02-20 20:56:47

我认为winlogon是从原始输入线程中调用的,我不记得具体如何,也许是一个事件或LPC。 C.A.D.的全部观点是一个正常的程序不能拦截它。

您可以尝试在Vista之前的系统上使用自定义GINA模拟它,并调用WlxSasNotify

+0

你可以禁用Ctrl + Alt +删除C#代码使用窗口过程 – 2012-02-20 18:39:25

+0

@HassanShatnawi:不,你可能需要一个内核驱动程序 – Anders 2012-02-20 18:42:57

Winlogon.exe截取安全注意序列(SAS),即CTRL-ALT-DEL。这是一个普通的热键,用RegisterHotKey注册,但是由于Winlogon首先获取它,所以不能用任何编程语言来窃取或禁用它。

当Winlogon收到SAS时,它会启动LogonUI.exe。 LogonUI是显示“瓷砖”的过程,即您在登录屏幕上看到的那些方块。每个广场都是凭据提供商的实施。

凭证提供程序收集您的凭证数据,通常是名称和密码。它将该信息作为不透明的字节数组发送回Winlogon,并附带认证包的名称。

认证包知道如何理解该字节数组。我将使用该信息登录,也许通过获取Kerberos票证或再次检查密码来存储哈希。如果全部检出,它将为您的用户提供代表Winlogon的安全TOKEN

几乎完成。

Winlogon创建一个新的Window Station,其中桌面命名为“默认”。我将创建由Userinit注册表项(通常为userinit.exe)标识的进程(除非您的计算机是僵尸网络的一部分;)。该进程使用Authentication包中的令牌运行。

Userinit执行一些任务,如创建您的配置文件,如果这是您的第一次登录。然后它会启动你的shell,通常是Explorer.exe它将读取各种启动参数,就像所有那些在时钟旁边的不可读图标。

我把主要里程碑用黑体。我建议你研究那些感兴趣的部分,这样我们可以通过回答更具体的问题来更好地帮助你。

+0

你可以禁用Ctrl + Alt +删除在C#代码使用窗口过程 – 2012-02-20 18:40:17

+0

它不能完成。你可以做的最好的事情是自动实现(有一个GPO命名为“要求用户键入CTRL-ALT-DEL”或类似的东西)。C#与它无关,它只是如何实现安全性。 – ixe013 2012-02-20 18:51:57