vb高手看看 让一个窗体不是当前活动窗体
来源:百度知道 编辑:UC知道 时间:2024/05/31 13:25:12
第一次来百度知道,分不多,希望高手看看。
是那种鼠标穿透效果,可是s68651521的答案会让它最小化,我希望她保持不变。
先findwindows查找一下,在获取句柄操作窗体
你的意思就是要实现程序窗体的鼠标穿透效果嘛
给你代码
Const GWL_EXSTYLE = (-20)
Const WS_EX_LAYERED = &H80000
Const WS_EX_TRANSPARENT As Long = &H20&
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Sub Command1_Click()
SetWindowLong Me.hwnd, GWL_EXSTYLE, GetWindowLong(Me.hwnd, GWL_EXSTYLE) Or WS_EX_LAYERED Or WS_EX_TRANSPARENT
End Sub
具体的解释是:
'取消鼠标穿透(一般窗体) SetWindowLong Me.hwnd, GWL_EXSTYLE, 0
'取消鼠标穿透(UpdateLayeredWindow画窗体) SetWindowLong Me.hwnd, GWL_EXSTYLE, WS_EX_LAYERED
你这样有什么意义 ?目的何在?会不会有点多余?