精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VB和Basic>>● VB和Basic(1)>>API函数>>如何让Window不接受键盘输入及Mouse Clic

主题:如何让Window不接受键盘输入及Mouse Clic
发信人: yingzi007()
整理人: (2000-11-08 09:07:31), 站内信件

VB爱好者乐园,专业的VB网站,十多位网友共同维护,1000多个VB资料,分类详
细,每天更新
主力站点:http://www.d1vb.com
备用站点:http://vbvb.yes8.com
如何让Window不接受键盘输入及Mouse Click

来源:cww


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

Activate的状态,即我们暂停了Mouse Click,KeyPress,等待我们要做事都做完
了,
再将之回复。不过Mouse仍可自由的移动,若要让Mouse也不能动,就使用Journa
lPlayBack 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

--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.110.173.200]

[关闭][返回]