不好意思 2楼给的不是的 我的意思 form 中 运行一个usercontrol usercontrol可以设置自己的热键 在控件自己运行的时候 可以影响自己设定的控件
RegisterHotKey这个可以实现啊,放到usercontrol里,提供一个属性可以方便点 不过注意:第一个参数的窗体句柄必须是窗体的! RegisterHotKey(Me.hWnd.... Me.hWnd必须是窗体的,不要搞错,至于获取方法,可以用下面的方法(可以避免多个容器盛放的情况)Private Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As LongPublic Property Get GetForm() As Long Dim o As Long o = UserControl.ContainerHwnd Do If GetParent(o) = 0 Then GetForm = o: Exit Do End If o = GetParent(o) Loop End Property
在控件中实现系统热键功能可能会带来不良反应。
不过注意:第一个参数的窗体句柄必须是窗体的!
RegisterHotKey(Me.hWnd....
Me.hWnd必须是窗体的,不要搞错,至于获取方法,可以用下面的方法(可以避免多个容器盛放的情况)Private Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As LongPublic Property Get GetForm() As Long
Dim o As Long
o = UserControl.ContainerHwnd
Do
If GetParent(o) = 0 Then
GetForm = o: Exit Do
End If
o = GetParent(o)
Loop
End Property