VB.NET外部EXE嵌入式

时间:2013-09-12 06:11:16

标签: c# vb.net

我知道这似乎是一个热门话题,但我无法将外部程序(不是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

1 个答案:

答案 0 :(得分:0)

您需要指定可执行文件的完整路径,例如:proc = Process.Start("C:\Path\To\LLO.exe")。或者确保可执行文件与程序位于同一文件夹中。