社区
ATL
帖子详情
如何调用外部应用程序?
guestmeimei
2005-05-12 10:22:37
我想实现的是,我的应用程序ex1.exe调用另一个应用程序ex2.exe,并能够把ex2.exe显示在我的子窗口中(SID 的view中),这两个应用程序需要满足什么条件?需要用到什么技术,能不能说的详细一点。
...全文
148
7
打赏
收藏
如何调用外部应用程序?
我想实现的是,我的应用程序ex1.exe调用另一个应用程序ex2.exe,并能够把ex2.exe显示在我的子窗口中(SID 的view中),这两个应用程序需要满足什么条件?需要用到什么技术,能不能说的详细一点。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
CPUIV
2005-05-13
打赏
举报
回复
你不能照搬,必须根据自己的情况修改:
1 FindWindow() 函数参数,应该换成Client.exe 窗口的类名或窗口标题。
2 ex2 与 ex1 的同步问题。SetParent()函数必须在ex2 的窗口建立以后执行(建议采用ex1延迟1
秒后再执行SetParent)。
3 ex1 的窗口必须是非模式窗体。
guestmeimei
2005-05-13
打赏
举报
回复
CPUIV() 非常感谢你!我还想问一下,对于ex2.exe有什么要求吗?我调用自己写的一个ex2程序,但是不好用。
代码如下:
SetWindowLong(m_pViewContainer->m_hWnd, GWL_STYLE, GetWindowLong(m_pViewContainer->m_hWnd, GWL_STYLE)|WS_CLIPCHILDREN);
HINSTANCE hp = ShellExecute(NULL, "open",
"E:\Client.exe", NULL, "", SW_MAXIMIZE);
CWnd *pWnd = NULL;
while(1) //一直到写字板窗体被建立
{
pWnd=CWnd::FindWindow("Notepad",NULL);
if (pWnd) break;
}
pWnd->SetParent(m_pViewContainer);
guestmeimei
2005-05-13
打赏
举报
回复
我试了,但是ex2并没有嵌入ex1中啊?ex2我做的是一个单文档的exe。不好意思,问了你这么多,感谢您了!
CPUIV
2005-05-12
打赏
举报
回复
条件是:ex2有自己的显示窗口并且有不被父窗口的特性,不能使用VB编程。
方法:ex1加载ex2,然后检索ex2的窗口句柄。再设置ex2窗口的父窗口,即ex1的窗口。
Featured
2005-05-12
打赏
举报
回复
你是说ex2的窗体在view内部吗?
可以
CPUIV
2005-05-12
打赏
举报
回复
下面是一个例子,把写字板放到框架窗口。 你先建立一个单文档工程 myprj,然后编辑 BOOL CMyprjApp::InitInstance() 函数。
找到下面两行:
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
在其后键入下面的代码:
SetWindowLong(m_pMainWnd->m_hWnd, GWL_STYLE, GetWindowLong(m_pMainWnd->m_hWnd,GWL_STYLE)|WS_CLIPCHILDREN);
HINSTANCE hp=ShellExecute(NULL,NULL,"notepad",NULL,"",SW_SHOWNORMAL);
CWnd *pWnd=NULL;
while(1) //一直到写字板窗体被建立
{
pWnd=CWnd::FindWindow("Notepad",NULL);
if (pWnd) break;
}
pWnd->SetParent(m_pMainWnd);
编译即可运行
guestmeimei
2005-05-12
打赏
举报
回复
我的意思就是想把另一个外部程序嵌入到ex1.exe。
CPUIV(),能不能说的详细一点。我使用的工具是vc、mfc。什么叫“不被父窗口的特性”?
Spring Boot 实战教程 v2.x
本课程内容包括Spring简介、Spring Boot简介、安装JDK、安装Maven、第一个...
外部
化配置、活动配置、日志配置、开发Web
应用程序
、Spring Web MVC框架(安装Postman、自定义欢迎页面、Icon、错误页面)、安装MySQL数据库...
C#怎样
调用
外部
应用程序
?
/// /// 启动
外部
应用程序
/// ///
应用程序
路径名称/// 启动参数/// true表示成功,false表示失败public static bool StartApp(string appName,string arguments){ Process p = new Process(); p.StartInfo....
Linux
应用程序
调用
外部
程序,linux中这样优雅
调用
外部
程序
在linux下写程序时,为了复用已经存在的程序或避免不稳定的第三方库导致主进程crash, 需要
调用
外部
程序去实现相应的功能。这时很多人会直接使用标准库里的函数,如C/C++中的system/popen。从源码可以看到,system或...
c语言
调用
外部
程序,C#客户端程序
调用
外部
程序的3种实现方法
简介大家都知道,当我们用C#来开发客户端程序的时候,总会不可避免的需要
调用
外部
程序或者访问网站,本篇博客介绍了三种
调用
外部
应用的方法,供参考,下面话不多说了,来一起看看详细的介绍吧。实现第一种是利用...
调用
外部
程序的几种方法
C++
调用
外部
应用程序
的方法的整理总结(常用) (shuzhiduo.com) 我这里主要总结下几种方法的优缺点 前面三种方法,相对简单,但是使用也有局限,方法四相对复杂,但是灵活性高,能满足多种需求。System、...
ATL
3,245
社区成员
48,539
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章