想建立一个按钮,点击按钮调用EXE,EXE启动后窗体最小化到托盘,结束EXE后恢复窗体,麻烦大家了。
解决方案 »
- 用MFC开发ActiveX控件,拖到上边的控件为什么不显示?
- 关于Dialog的问题?
- 为List Control加载背景图的问题??
- 对话框中CMenu *m_pMenu = new CMenu; 为何会报错?在线等待,结分!!!
- 如何将CEdit控件设置为只读以后,还让它以白色显示.
- ado有关的问题
- devenv怎么编译某个.sln下面的某个工程?
- 分,全送了:有谁知道有什么API函数,或控件来获的系统音量值?急!急!急
- 如何做?
- MFC中如何遍历MDI子窗口?谢谢!
- Win32 dll中使用FindWindow找不到窗口句柄?
- (BHO)IE toolbar小需求修改[现金求人!!!]
STARTUPINFO siStartInfo = {sizeof(siStartInfo)};//用于在创建子进程时设置各种属性
PROCESS_INFORMATION piProcInfo; //用于在进程创建后接受相关信息
BOOL ret = ::CreateProcess(NULL, strFilePath, NULL, NULL, FALSE, 0, NULL, NULL, &siStartInfo , &piProcInfo);
if (ret)
{
// 关闭子进程的主线程句柄
CloseHandle(piProcInfo.hThread);
// 等待子进程的退出
// WaitForSingleObject(piProcInfo.hProcess, INFINITE);
// 获取子进程的退出码
GetExitCodeProcess(piProcInfo.hProcess, &dwExitCode);
// 关闭子进程句柄
CloseHandle(piProcInfo.hProcess);
}
这个是可以自己控制参数的调用方法,还有两种简单的方法,网上都有,lz自己查吧
在按钮的处理函数中用CreateProcess启动外部进程,如果返回值为TRUE,表示成功,那么就可以最小化到托盘了,最小化到托盘的一般方法是用
BOOL Shell_NotifyIcon(
DWORD dwMessage,
PNOTIFYICONDATA lpdata
);
这个可以添加一个托盘图标,对于主窗口,你可以用ShowWindow(SW_HIDE)隐藏起来。
然后用WaitForSingleObject来等待外部进程的句柄,当外部EXE结束时,这个函数返回,此时可以用Shell_NotifyIcon将托盘图标删除,同时对主窗口ShowWindow(SW_SHOW);显示主窗口
应该发这个 那个你估计点不进去..