c# 何如在窗体内部 运行另外一个程序呢?

tianhuo_soft 2009-12-20 10:58:43
c# 何如在窗体内部 运行另外一个程序呢?

...全文
217 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wefgod 2009-12-20
  • 打赏
  • 举报
回复
            Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.FileName = ???
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.WorkingDirectory = ???;
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();


类似的例子是调用一个控制台程序的
yicheng099 2009-12-20
  • 打赏
  • 举报
回复
使用多线程。。。可以吧
Deathsign 2009-12-20
  • 打赏
  • 举报
回复
如果似乎CONSOLE的画 直接重定向输出就OK了

WINFORM 的话,,你要HOOK 消息和函数 把一开始执行程序时候的注册窗体的句柄 修改成你的容器的句柄

但是估计然后后面还有一系列工作要做,没试验过我也是想过理论实现方法。
gisyellow 2009-12-20
  • 打赏
  • 举报
回复
你是指要把另一个程序的主界面嵌入自己的窗体?
首先要启动那个程序,获得其主窗体的句柄(WindowsAPI)。。
jbo126 2009-12-20
  • 打赏
  • 举报
回复
内部?程序?你意思是?
wuyq11 2009-12-20
  • 打赏
  • 举报
回复
应该通过SetWindowPos,GetWindow,FindWindow等
DllImport("user32.dll", CharSet = CharSet.Auto)]
public extern static IntPtr SetParent(IntPtr hChild, IntPtr hParent);
wefgod 2009-12-20
  • 打赏
  • 举报
回复
理解错意思了呢····就是类似一个MDI的吧?
相当于你的外部程序作为一个子窗体吧?
tianhuo_soft 2009-12-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 gisyellow 的回复:]
你是指要把另一个程序的主界面嵌入自己的窗体?
首先要启动那个程序,获得其主窗体的句柄(WindowsAPI)。。
[/Quote]

是的

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧