首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

[]在对话框中执行exe文件

2014-06-05 
[求助]在对话框中执行exe文件我的想法是这样的,在对话框中运行exe文件,如果这个exe文件有界面,则界面显示

[求助]在对话框中执行exe文件
我的想法是这样的,在对话框中运行exe文件,如果这个exe文件有界面,则界面显示在对话框中的指定位置。先说声谢谢

[解决办法]
获取窗口的句柄,然后MoveWindow()应该可以实现
[解决办法]
CreateProcess 创建进程来执行EXE文件。
[解决办法]
1.
CString strExe, strTemp;
strTemp.Format( "\ "%s\ " -L -S ", strExe);
WinExec(strTemp,SW_SHOW);
======================================
2.
char cCommandLine[MAX_PATH];
PROCESS_INFORMATION pi;
STARTUPINFO si = {sizeof(si)};

::strcpy(cCommandLine, strPath);
// 启动进程
BOOL ret = CreateProcess(NULL, cCommandLine, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
if (ret){
// 关闭子进程的主线程句柄
CloseHandle(pi.hThread);
// 关闭子进程句柄
CloseHandle(pi.hProcess);
}
===========================================
FindWindwo(XXX,XXXXX);
然后MoveWindow或SetWindowPos
[解决办法]
STARTUPINFO si;
CreateProcess(NULL, cCommandLine, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
si里面有四个参数:
DWORD dwX;
DWORD dwY;
DWORD dwXSize;
DWORD dwYSize;
你可以获取对话框中一个矩形区域rect,分别给四个参数传值
si.dwX = rect.left;
si.dwY = rect.top;
si.dwXSize = rect.Width();
si.dwYSize = rect.Height();

热点排行