c# wpf启动外部exe并嵌入到启动主窗口中运行

本文详细介绍了如何使用C# WPF启动一个外部的EXE程序,并将其嵌入到主应用程序窗口中运行。通过调用Windows API,实现了外部软件窗口的句柄获取和嵌入操作,确保程序在主窗口中无缝运行。
摘要由CSDN通过智能技术生成

本文主要介绍通过c#来启动外部exe(第三方软件)并嵌入到主窗口运行,在自己的应用程序中运行

一、启动外部exe相对简单

IntPtr hcalc; //用以存储目标窗口句柄
 ProcessStartInfo ps = new ProcessStartInfo();
 ps.FileName = Environment.ExpandEnvironmentVariables(exePath); //exePath要启动的外部应用程序路径

ps.WorkingDirectory = @"" ; //指定工作目录以确定相对路径

 Process proc = Process.Start(ps);


            new Thread(new ThreadStart(() =>
            {
                while (hcalc == IntPtr.Zero) //循环目标窗口启动完成
                {
                    Thread.Sleep(10);
                     hcalc = FindWindow(null, "发现目标窗口");
                    SetParent(hcalc, hpanel1);
                    //SendMessage(hcalc, WM_SYSCOMMAND, SC_MINIMIZE, 0);
                }
            })).Start();


二、嵌入到启动敞口中运行 需要调用windows API


[DllImport("u

  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值