c# 调用exe的问题

lonelygames 2008-08-07 10:48:03
我有一个项目, 想在项目的主界面内打开exe文件,类似于打开一个子窗口,就如 MDI Form 打开一个子Form一样 。
System.Diagnostics.Process.Start("xxx.exe");
上面语句时,界面不在项目的主界面中。
请问是否能实现此功能?
...全文
275 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
lonelygames 2008-08-19
  • 打赏
  • 举报
回复
没有找到好的方法。只能结了!
lonelygames 2008-08-08
  • 打赏
  • 举报
回复
找到东西先记录了
函数功能:该函数改变指定子窗口的父窗口。

函数原型:HWND SetParent(HWND hWndChild,HWND hWndNewParent);

参数:

hWndChild:子窗口句柄。

hWndNewParent:新的父窗口句柄。如果该参数是NULL,则桌面窗口就成为新的父窗口。在WindowsNT5.0中,如果参数为HWND_MESSAGE,则子窗口成为消息窗口。

返回值:如果函数成功,返回值为子窗口的原父窗口句柄;如果函数失败,返回值为NULL。若想获得多错误信息,请调用GetLastError函数。

备注:应用程序可以使用SetParent函数来设置弹出式窗口,层叠窗口或子窗口的父窗口。新的窗口与窗口必须属于同一应用程序。

如果参数hWndChild标识的窗口是可见的,系统将执行适当的重画和刷新动作。

由于兼容的原因,对于将改变父窗口的子窗口,SetParent函数并不改变该子窗口的WS_CHILO WS_POPUP风格。所以,如果hWndNewParent参数为NULL,就应在调用SetParent函数之后清空WS_CHILD位并且设置为WS_POPUP风格。相反的,如果hWndNewParent参数不为NULL并且在此之前窗口是桌面窗口的子窗口,就应在调用SetParent函数之前清空WS_POPUP位井设置WS_CHILD风格。

速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:1.0以上版本:头文件:Winuser.h;库文件:user32.lib。

结论和疑问:新的窗口与窗口必须属于同一应用程序。难道真的不行!!??
viki117 2008-08-08
  • 打赏
  • 举报
回复
标记下。。
lonelygames 2008-08-08
  • 打赏
  • 举报
回复
昨晚试了一下SetParent
可能是没理解透,是可以调用了,但参数感觉写得不对.
调用的exe文件还是没嵌入主程序中.
vshirleyzhxl 2008-08-08
  • 打赏
  • 举报
回复
帮顶。学习
lonelygames 2008-08-07
  • 打赏
  • 举报
回复
我是搜索过了,好像没有类似我这样的问题。在花点时间了。
wdgphc 2008-08-07
  • 打赏
  • 举报
回复
你可以搜索一下以前的帖子,有好几个问同样问题的,好像都没有答案.
lonelygames 2008-08-07
  • 打赏
  • 举报
回复
谢谢9楼顶了一下,和数据显示没有关系,是钳入调用EXE的问题。
懒牛科技 2008-08-07
  • 打赏
  • 举报
回复
datagridview 显示数据不就行了
lonelygames 2008-08-07
  • 打赏
  • 举报
回复
谢谢加顶,我先找4楼的资料看看。后来者看有没有这样做过的。
哈哈潜伏哥 2008-08-07
  • 打赏
  • 举报
回复
估计你这样难度有点高,除了四楼说的办法值得一试外,其他办法都别考虑了。
lonelygames 2008-08-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jinjazz 的回复:]
用windows api 函数 setparent可以把打开进程的mainhandle设置为你窗体的子控件
[/Quote]
没使用过,先谢谢,模着做,有点代码实例最好了!
lonelygames 2008-08-07
  • 打赏
  • 举报
回复
沉得好快,如何使用webbrowser 钳入调用呢?
jinjazz 2008-08-07
  • 打赏
  • 举报
回复
用windows api 函数 setparent可以把打开进程的mainhandle设置为你窗体的子控件
jinjazz 2008-08-07
  • 打赏
  • 举报
回复
不好意思,我看错了题目
lonelygames 2008-08-07
  • 打赏
  • 举报
回复
先谢谢一楼,说明一下,是winform.
jinjazz 2008-08-07
  • 打赏
  • 举报
回复
用 webbrowser

111,115

社区成员

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

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

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