Мне нужно открыть некоторые внешние приложения, такие как 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, но он НЕ проверяет предыдущие экземпляры. Поэтому каждый раз, когда я нажимаю кнопку, он открывает новый блокнот