1. 检查是否ctrl键被按下和当前的事件是否esc键按。如果是,该用户——直接窗体——会显示任务管理器窗体。一个wm_syscommand消息将被发送到激活的窗体,并且参数wparam为sc_tasklit。然后键盘按下事件从系统队列中被删除,“系统队列扫描”代码又将重新从头开始。如果此激活的窗体是一个系统模块或者是一个被显示出来的“硬”系统模块消息框(比如一个“int”24小时系统错误消息框,或一个使用mb_iconhand和mb_systemmodal参数的messagebox函数)的事件,将会被抛弃。
2. 下一步,试着去查看当前的事件是不是一个print screen键的按下事件。如果是,任意一个激活的窗体或整个桌面将被做为一个位图快照,保存到剪贴板中。如果alt键被按下,一幅激活窗体的图像被复制到剪贴板中;如果没有,则是整个桌面被复制。然后print screen键按下事件从系统队列中被删除,“系统队列扫描”代码又将重新从头开始。如果显示了一个“硬”系统模块消息框,则此操作被忽略。
3. 下一步检测热键。使用程序管理器,用户可以定义用来运行一个应用程序的击键事件。这些击键被称为热键。如果当前的事件是一个按键事件,将会被测试是否与定义过的热键匹配。如果发现匹配,一个wm_syscommand消息将被发送到激活的窗体,并且参数wparam为sc_hotkey。然后键盘按下事件从系统队列中被删除,“系统队列扫描”代码又将重新从头开始。如果此激活的窗体是一个系统模块或者是一个被显示出来的“硬”系统模块消息框,该测试被跳过。