我如何重新专注于形式?
How do I regaing focus on form?
我在公司生产环境中有一台 PC,需要确保反复加载相同的程序。我升级到 Windows 7,但由于 MacAfee,我的启动程序不断失去焦点。我尝试卸载 MacAfee,但它是企业版,不允许我卸载。我试图在我的 vb.net 应用程序中进行一些编程以重新获得焦点,但没有任何效果。
这是程序如何启动的图片 - 请注意表单颜色较浅并且失去焦点:
http://i.imgur.com/Qwlzuzw.jpg
这是我用鼠标单击它以修复它后应该如何加载表单的图片 - 请注意表单的较深颜色:
http://i.imgur.com/DuLyCsC.jpg
这就是为什么我认为 MacAfee 是问题所在 - 如果我按 alt 选项卡,MacAfee 更新程序图标会显示:
http://i.imgur.com/opgOWHW.jpg
有什么想法可以通过编程或其他方式解决我的问题吗?
这是获取前台 window 句柄的定时器的示例代码,如果不是我,就把它设为我
Private Declare Function GetForegroundWindow Lib "user32" () As IntPtr
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As IntPtr) As Long
Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
Dim focusedWindow As System.IntPtr
focusedWindow = GetForegroundWindow()
If Not Me.Handle.Equals(focusedWindow) Then
SetForegroundWindow(Me.Handle)
End If
End Sub
在form1.shown子中这样写:
For i = 0 To 100
Me.Activate()
Next
这将尝试 100 次以在您的表单出现时关注它。
我在公司生产环境中有一台 PC,需要确保反复加载相同的程序。我升级到 Windows 7,但由于 MacAfee,我的启动程序不断失去焦点。我尝试卸载 MacAfee,但它是企业版,不允许我卸载。我试图在我的 vb.net 应用程序中进行一些编程以重新获得焦点,但没有任何效果。
这是程序如何启动的图片 - 请注意表单颜色较浅并且失去焦点: http://i.imgur.com/Qwlzuzw.jpg
这是我用鼠标单击它以修复它后应该如何加载表单的图片 - 请注意表单的较深颜色: http://i.imgur.com/DuLyCsC.jpg
这就是为什么我认为 MacAfee 是问题所在 - 如果我按 alt 选项卡,MacAfee 更新程序图标会显示: http://i.imgur.com/opgOWHW.jpg
有什么想法可以通过编程或其他方式解决我的问题吗?
这是获取前台 window 句柄的定时器的示例代码,如果不是我,就把它设为我
Private Declare Function GetForegroundWindow Lib "user32" () As IntPtr
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As IntPtr) As Long
Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
Dim focusedWindow As System.IntPtr
focusedWindow = GetForegroundWindow()
If Not Me.Handle.Equals(focusedWindow) Then
SetForegroundWindow(Me.Handle)
End If
End Sub
在form1.shown子中这样写:
For i = 0 To 100
Me.Activate()
Next
这将尝试 100 次以在您的表单出现时关注它。