VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 如何让Window不接受键盘输入及Mouse Click
发表评论(0)作者:, 平台:, 阅读:10767, 日期:2000-03-29


如何让Window不接受键盘输入及Mouse Click


来源:cww


就好比呼叫MsgBox之後,Form就不接受Mouse Click与KeyPress,但是Form仍可处於

Activate的状态,即我们暂停了Mouse Click,KeyPress,等待我们要做事都做完了,

再将之回复。不过Mouse仍可自由的移动,若要让Mouse也不能动,就使用JournalPlayBack Hook

,而不是使用本方法。


EnableWindow()可达目的,第二个叁数传0进入则不能输入,传1则相反


Private Declare Function EnableWindow Lib "user32" (ByVal hwnd As Long, ByVal fEnable As Long) As Long

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)


Private Sub Command1_Click()

Call EnableWindow(Me.hwnd, 0)

Me.Caption = "现在拒绝KeyPress, MouseClick"

Dim i As Long

For i = 1 To 100

Call Sleep(100)

DoEvents '虽有DoEvents,会发现,按Form的任何地方都没有反应

Next i

Me.Caption = "现在解除了"

Call EnableWindow(Me.hwnd, 1)

End Sub