麻烦将窗口重点放在VB.NET中

  • 本文关键字:VB NET 窗口 麻烦 vb.net
  • 更新时间 :
  • 英文 :


我很难带一个窗口焦点。所有示例都使用Findwindow函数并调用SetForegroundWindow,但这无效。这是该代码的外观

thandle = FindWindow(Nothing, "title of window")
SetForegroundWindow(thandle)
然后,我尝试了ShowWindow功能。如果将窗口最小化,则以下代码可以使用,如果窗口没有最大化,但如果已经最大化窗口,则拒绝将焦点带到窗口中。
If IsIconic(thandle) Then
   ShowWindow(thandle, 9)
Else
   ShowWindow(thandle, 3)

所以我想出了周围的工作,如果窗口没有最小化,请将其最小化,然后将其最大化。

If IsIconic(thandle) Then
   ShowWindow(thandle, 9)
Else
   ShowWindow(thandle, 7)
   ShowWindow(thandle, 9)
End If

我真的很想知道为什么SetForegroundWindow不会将窗户带到前景

这是我的代码:

Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As IntPtr) As Long
Private Declare Auto Function FindWindow Lib "USER32.DLL" ( _
    ByVal lpClassName As String, _
    ByVal lpWindowName As String) As IntPtr
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim thandle = FindWindow(Nothing, "Calculator")
    SetForegroundWindow(thandle)
End Sub

最新更新