Vb.net 我可以在visual basic窗体中嵌入另一个正在运行的exe吗?

Vb.net 我可以在visual basic窗体中嵌入另一个正在运行的exe吗?,vb.net,Vb.net,我开始尝试在表单中嵌入另一个.exe。我设法运行了另一个程序,并在窗体面板中使用它。是否有办法将已运行的exe放入此面板中 Public Class Form1 Declare Auto Function SetParent Lib "user32.dll" (ByVal hWndChild As IntPtr, ByVal hWndNewParent As IntPtr) As Integer Declare Auto Function SendMessage Lib &q

我开始尝试在表单中嵌入另一个.exe。我设法运行了另一个程序,并在窗体面板中使用它。是否有办法将已运行的exe放入此面板中

Public Class Form1
Declare Auto Function SetParent Lib "user32.dll" (ByVal hWndChild As IntPtr, ByVal hWndNewParent As IntPtr) As Integer
Declare Auto Function SendMessage Lib "user32.dll" (ByVal hWnd As IntPtr, ByVal Msg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
 Dim proc As Process

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    proc = Process.Start("C:\WINDOWS\notepad.exe")
    proc.WaitForInputIdle()
    SetParent(proc.MainWindowHandle, Panel1.Handle)
End Sub
End Class

代码变成这样。notepad.exe需要运行,启动时会将notepad.exe嵌入主窗体。非常感谢

Public Class Form1
Declare Auto Function SetParent Lib "user32.dll" (ByVal hWndChild As IntPtr, ByVal hWndNewParent As IntPtr) As Integer
Declare Auto Function SendMessage Lib "user32.dll" (ByVal hWnd As IntPtr, ByVal Msg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim proc = Process.GetProcessesByName("notepad").FirstOrDefault()
    If proc IsNot Nothing Then
        SetParent(proc.MainWindowHandle, Panel1.Handle)
    End If
        End Sub
End Class

您是否尝试了
Process.getProcessByName(“记事本”)
而不是Process.Start?我将如何更改它,如果我更改它,我会出现此错误。无法将“Process()”类型的值转换为“Process”。@AlexB.
dim proc=Process.getProcessByName(“记事本”).FirstOrDefault()如果proc不是空的,则…
。您还需要
MoveWindow
SetWindowPos
或类似工具。预计会有一些恼怒的反应。顺便说一句,您应该使用
属性来声明函数,而不是使用
声明自动
版本。