读书人

怎么把程序A(exe)嵌入到程序B中, 通过

发布时间: 2012-01-12 22:11:58 作者: rapoo

如何把程序A(exe)嵌入到程序B中, 通过B控制A?
思路、代码、相似问题地址均可

[解决办法]
createprocess a.exe /参数
[解决办法]
可以用楼上说的创建进程,也可以用Shellexecute来调用。
我记得Csdn以前有这样的贴子,楼主可以搜一下
[解决办法]
创建进程,然后模拟消息?
[解决办法]
楼主说的控制要达到什么程度?
[解决办法]
你这个控制要达到完全控制吗?还是简单的调用A的一些 功能?
[解决办法]
B启动A,然后B发消息给A,A响应消息,这样吗?
[解决办法]
exe捆绑???
[解决办法]
可以把A做为一种自定义资源,加到资源文件中(用十六进制编辑器打开,然后拷贝粘贴)
,这样的话,A就成为B的一部分了,然后,需要运行A的时候,由B通过资源ID读取其内容,
做为临时文件存在TEMP目录或者自身路径下,通过createprocess函数调用A执行(执行的
过程和结果可以通过返回值获得).
[解决办法]

探讨

可以把A做为一种自定义资源,加到资源文件中(用十六进制编辑器打开,然后拷贝粘贴)
,这样的话,A就成为B的一部分了,然后,需要运行A的时候,由B通过资源ID读取其内容,
做为临时文件存在TEMP目录或者自身路径下,通过createprocess函数调用A执行(执行的
过程和结果可以通过返回值获得).

[解决办法]
晕倒啊,原来是这样的要求,这个难度大了,哈哈。
[解决办法]
// 执行程序
int nRet = 0;
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
//GetStartupInfo(&si);
// si.cb = sizeof(si);
//si.dwFlags=STARTF_USESHOWWINDOW|STARTF_USESTDHANDLES;
//si.dwFlags=STARTF_USESHOWWINDOW;
//ZeroMemory( &pi, sizeof(pi) );

si.wShowWindow=SW_SHOW;//SW_HIDE;
BOOL bRet = CreateProcess(wstrPath.c_str(), _T("// 1"), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi );
wstrPath为可执行程序的路径包括的.exe
[解决办法]
学习了,楼上也很强大。
[解决办法]
学习,膜拜

读书人网 >VC/MFC

热点推荐