c# - VB.NET 外部 EXE 嵌入式

标签 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

最佳答案

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

关于c# - VB.NET 外部 EXE 嵌入式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18756605/

相关文章:

c# - 仅依赖项的空 Nuget 包

.net - 从数据库中获取整数前的零

c# - ChrW(e.KeyCode) 的 C# 等价物是什么?

c# - VB.net 中的 C# 'internal' 是什么?

c# - 在不丢失格式的情况下将 HTML 导出到 Excel

c# - 泛型、可空、类型推断和函数签名冲突

c# - 令人困惑的重载决议

c# - 控制台使用 CAPS 进行用户输入

c# - 如何使用 LINQ 创建总计列和总计行?

vb.net - 使用 Lumenworks CSV Parser 提取整行/整行