ShellExecute执行程序,如何返回消息给调用窗口

mogul 2002-11-01 02:48:53
void CTry8View::OnMenuShellexe()
{
ShellExecute(this->m_hWnd,"open","chem.exe",NULL,NULL,SW_SHOW);
}

在chem.exe,执行过程中需要返回消息给调用窗口,告诉调用它的CTry8View类该程序已经完成了某操作。需要在两个程序中分别加入哪些语句?谢谢!
...全文
92 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mogul 2002-11-01
  • 打赏
  • 举报
回复
谢谢!
kingzai 2002-11-01
  • 打赏
  • 举报
回复
i suggest you use createprocess
PROCESS_INFORMATION pi;
STARTUPINFO si;
si.cb=sizeof(si);
si.wShowWindow=SW_SHOW;
si.dwFlags=STARTF_USESHOWWINDOW;
BOOL fRet=CreateProcess(NULL,
"d:\\temp\\disk1\\setup.exe -r",
NULL,
NULL,
FALSE,
NORMAL_PRIORITY_CLASS|CREATE_NEW_CONSOLE,
NULL,
NULL,
&si,
&pi);
if(fRet)
{
m_hPro=pi.hProcess;//保存当前进程句柄,在强制结束进程时使用。
}
if(::WaitForSingleObject(m_hPro,INFINITE)==WAIT_OBJECT_0)
{
AfxMessageBox("the Process is go over");
}
CloseHandle(m_hPro);
return 0;
top_hipster 2002-11-01
  • 打赏
  • 举报
回复
使用CreateProceess替代shellexecute
zhaolaoxin 2002-11-01
  • 打赏
  • 举报
回复
up
mountlin 2002-11-01
  • 打赏
  • 举报
回复
和其他进程间通信的原理一样,可以用Message或Mutex(推荐,因为不需要窗口句柄),参见RegisterWindowMessage和CreateMutex
newsb 2002-11-01
  • 打赏
  • 举报
回复
在chem中用FindWindow()找到CTray8View所在程序的窗口,发送消息
给该窗口即可

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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