winform嵌入exe问题

cxy0303 2010-09-09 02:57:53
到网上搜了一些代码,,的确有些exe程序可以嵌入winform窗体里显示,但是有个问题,那个exe程序运行时弹出的窗体貌似是嵌入winform窗体了,但是以后在弹出的界面就不在winform窗体里了,高手们有什么思路提供吗?
...全文
360 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxy0303 2010-09-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yuwenge 的回复:]
这样做不行滴。很多东西都会有问题。
[/Quote]
哥们你有什么好建议没
火柴没帽 2010-09-09
  • 打赏
  • 举报
回复
观摩学习中。。。。
卧_槽 2010-09-09
  • 打赏
  • 举报
回复
这样做不行滴。很多东西都会有问题。
cxy0303 2010-09-09
  • 打赏
  • 举报
回复
我是这样设置,,可是有些exe程序是可以,但是在继续点击exe程序里的窗体,就不在里面了,而且用qq测试,qq不会嵌入进去,这是什么问题呢?

appWin = IntPtr.Zero;
Process p = null;
try
{


p = System.Diagnostics.Process.Start(this.exeName);
p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized;
p.WaitForInputIdle();
appWin = p.MainWindowHandle;
}
catch (Exception ex)
{
MessageBox.Show(this, ex.Message, "Error");
}

// Put it into this form
SetParent(appWin, this.Handle);

// Remove border and whatnot
SetWindowLong(appWin, GWL_STYLE, WS_VISIBLE);

// Move the window to overlay it on this window
MoveWindow(appWin, 0, 0, this.Width, this.Height, true);
兔子-顾问 2010-09-09
  • 打赏
  • 举报
回复
设置windows的样式为非顶层窗体,然后用api调用SetParent。你不启动你程序,直接启动那个程序,当然就是他本身,不在你的winform中了。

111,129

社区成员

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

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

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