我需要在VB.NET MDI窗體中打開一些外部應用程序,例如notepad.exe,並且我還需要確保始終只有一個此運行的副本。在VB.NET MDI窗體中打開外部應用程序表單
我使用下面的代碼,但它完全沒有。它給出了錯誤的setparent不宣而FindWindow函數未聲明
Dim myProcess As Process = New Process()
Dim MyHandle As IntPtr
myProcess.StartInfo.FileName = "Notepad.exe"
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Normal
myProcess.Start()
MyHandle = FindWindow(vbNullString, "C:\Windows\Notepad.exe")
SetParent(MyHandle, Me.Handle)
myProcess.WaitForExit()
這是我用來驗證只有一個實例運行
If (System.Diagnostics.Process.GetProcesses.Equals("notepad.exe")) Then
MsgBox("Only One Instance!")
Else
Dim p As New System.Diagnostics.Process
p.StartInfo.FileName = "notepad.exe"
p.Start()
End If
此代碼是開放的notepad.exe的代碼,但它不檢查以前的實例。所以每次點擊按鈕,它都會打開一個新的記事本