簡體   English   中英

如何通過 vb.net 在 winforms 中將其他應用程序(計算器)置於首位?

[英]How to get other application(calculator) bring to front in winforms via vb.net?

這可能是一個非常常見的問題,但我找不到正確的答案。
如果發現任何內容,請使用原始鏈接標記此副本。

說,我有一個帶按鈕的winform。
我想打開另一個應用程序,例如 windows 計算器。
所以在按鈕單擊上,我添加了這個。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
 Dim MyApp As System.Diagnostics.Process = New System.Diagnostics.Process
            MyApp.StartInfo.FileName = "C:\Windows\system32\calc.exe"
            MyApp.Start()


            Dim p() As Process = Process.GetProcessesByName("Calculator")
            If p.Count > 0 Then
                 /*Something like bring that calc to front*/
            Else
                MyApp.Start()
            End If
        End If
End Sub

現在,如果 calc 在 winform 后面,我想要將 calc 放在前面。

如果沒有打開計算,那么它將打開新的,否則它將把前一個放在前面。

專門用於計算器:

Public Declare Function BringWindowToTop Lib "user32" (ByVal HWnd As IntPtr) As Boolean

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim calc As Process = Process.GetProcesses.FirstOrDefault(Function(p) p.MainWindowTitle = "Calculator")
    If Not IsNothing(calc) Then
        BringWindowToTop(calc.MainWindowHandle)
    Else
        Process.Start("C:\Windows\system32\calc.exe")
    End If
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM