这可能是一个非常常见的问题,但我找不到正确的答案。
如果发现此重复项,请用原始链接标记。
说,我有一个带有按钮的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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句