1
我试图找出一种方法来检测用户何时按下CTRL-ALT-DEL或Window + L锁定PC 。当用户在VB.net中按下CTRL-ALT-DEL或Window + L时检测到
我正在使用的代码是
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If (GetAsyncKeyState(17) AndAlso GetAsyncKeyState(18) AndAlso GetAsyncKeyState(46)) Or ((GetAsyncKeyState(91) Or GetAsyncKeyState(92)) AndAlso GetAsyncKeyState(76)) Then
Msgbox ("Yes")
End If
End Sub
然而,一旦用户按下CTRL-ALT-DEL Windows安全窗口弹出,这是太快了,VB检测到该键有被按下。
我对如何解决这个问题做了一些研究,发现可以编写一个GINA存根,它可以将Windows安全屏幕延迟一段时间,比如说2秒,这足以让VB检测到密钥有被按下。
还通过VB禁用CTRL-ALT-德尔不起作用,因为它是速度太快,VB,我想不要禁用CTRL-ALT-DEL
可能有人请让我知道怎么能GINA存根被创建?
对于VB来说这不是“太快”。这是一个特权组合,你将无法拦截。 – 2010-12-02 13:43:31
可能的重复:http://stackoverflow.com/questions/1346689/how-do-i-trap-windows-key-alttab-ctrlaltdelete-in-c – 2010-12-02 13:45:27