c++ 简单进程交互(获取双方进程句柄)
来源:互联网 发布:java面向过程实现加法 编辑:程序博客网 时间:2024/06/07 02:07
一:主进程打开子进程
char chCmdLine[256]; sprintf(chCmdLine," /%d /%d /%d /Class:Quote%d",m_hWnd,1,1,GetCurrentProcessId());// /父窗口句柄 / /是否内嵌打开 / ShellExecute(NULL, NULL,"子进程名", chCmdLine, NULL, SW_SHOWNORMAL);
二:子进程通过主进程打开的命令行获取主进程句柄
CString sParameter;for (int i = 1; i < __argc; i++){sParameter = __argv[i];if(i == 1)m_ParentHWnd = (HWND)atoi(sParameter.Mid(1));}
三:子进程将子进程句柄发给主进程
HqLoginMsg loginMsg; loginMsg.m_nType = 1; loginMsg.m_hWnd = NULL; loginMsg.m_hMainWnd = this->m_hWnd; loginMsg.m_nProcessID = GetCurrentProcessId(); loginMsg.m_nID = 1; COPYDATASTRUCT data; data.dwData = WM_COPYDATA_LoginWnd; data.cbData = sizeof(HqLoginMsg); data.lpData = &loginMsg; ::SendMessage(m_ParentHWnd,WM_COPYDATA,(WPARAM)m_hWnd,(LPARAM)&data);
四:主进程保存子进程句柄信息
BOOL OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct) {switch(pCopyDataStruct->dwData){case WM_COPYDATA_LoginWnd:{if(m_pHqLoginMsg == NULL)m_pHqLoginMsg = new HqLoginMsg;memcpy(m_pHqLoginMsg,pCopyDataStruct->lpData,sizeof(HqLoginMsg));}break; } return True;}
阅读全文
0 0
- c++ 简单进程交互(获取双方进程句柄)
- ObOpenObjectByPointer获取进程句柄
- C++通过进程名获取进程句柄
- 获取进程的句柄数
- 获取进程主窗体句柄
- 获取进程句柄的数量
- python 获取句柄,关闭进程
- GetProcessMainWnd(获取进程窗口句柄)
- 从窗口句柄获取进程句柄并终止进程GetWindowThreadProcessID
- VC++ 通过进程名或进程ID获取进程句柄
- VC++ 通过进程名或进程ID获取进程句柄
- 进程句柄
- 通过进程获取窗口的句柄
- 通过进程获取窗口的句柄
- 关于获取进程句柄的问题
- C#获取进程的主窗口句柄
- 由进程名字获取窗口句柄
- 由进程获取窗口(CMainframe)句柄
- Aras Innovator: AML包
- Visual Studio 调试常用20个小技巧
- 彻底理解I/O架构
- YTU.3131: 进阶递归之简单的整数划分问题
- environment variable 'STAGING_DIR' not defined
- c++ 简单进程交互(获取双方进程句柄)
- Hibernate+spring缓存机制配置
- ASP.NET使用JQUERY AJAX文件上传DEMO_异步文件上传例子
- java--多线程练习题
- http://blog.csdn.net/dragonxiangfu/article/details/14120785
- Gulp的安装与配置
- 刚上线的“新睿云”到底如何达到高可用?IOPS高达200000?
- 【云隐】STM32F103C8T6实现串口IAP方式升级固件
- HTTP协议:概括性知识