我在企业生产环境中有一台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
以编程方式或其他方式解决我的问题的任何想法?
答案 0 :(得分:1)
以下是获取前景窗口句柄的计时器示例代码,如果不是我,请将其设为Me
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
答案 1 :(得分:0)
在form1.shown中写下这个:
For i = 0 To 100
Me.Activate()
Next
当您的表单出现时,这将会尝试100次。