我知道这似乎是一个热门话题,但我无法将外部程序(与 VB 无关)嵌入到我的 VB.NET 项目中,我可以让记事本正确嵌入,但我一生都无法获得这个要嵌入的其他程序,它确实加载并正确出现。
这是我的。
至少我希望能够让它自动打开外部 EXE,然后可能将它停靠在我的项目中,或者甚至只是能够点击我的 button1
,让外部上来然后停靠到我的项目中。但我真的很想把它嵌入 lol,我对这一切都非常陌生,所以请放轻松 :3
PS:我已经尝试将应用程序添加为嵌入式资源。
Imports System.Runtime.InteropServices
Public Class Form1
Private Const WM_SYSCOMMAND As Integer = 274
Private Const SC_MAXIMIZE As Integer = 61488
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 Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Run Notepad application inside Panel1 control
Dim proc As Process
proc = Process.Start("LLO.exe")
proc.WaitForInputIdle()
SetParent(proc.MainWindowHandle, Me.Panel1.Handle)
SendMessage(proc.MainWindowHandle, WM_SYSCOMMAND, SC_MAXIMIZE, 0)
End Sub
End Class
最佳答案
您需要指定可执行文件的完整路径,例如:proc = Process.Start("C:\Path\To\LLO.exe")
。或者确保可执行文件与您的程序位于同一文件夹中。
关于c# - VB.NET 外部 EXE 嵌入式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18756605/