分别建立两个MFC对话框应用程序,想实现他们之间通信,怎么做?
我尝试过使用Process32First(hSnapShot,&pEntry);
//Iterate thru all processes
while(1)
{
BOOL Res=Process32Next(hSnapShot,&pEntry); if(Res==FALSE)
{
break;
}
if(wcscmp(pEntry.szExeFile,TEXT("Dlg2.exe")) == 0)
{
::EnumWindows(lpEnumFunc,pEntry.th32ProcessID);
}}然后在lpEnumFunc回调函数中,使用传入的hwnd调用SendMessage,但是另外一个对话框没反应。
我尝试过使用Process32First(hSnapShot,&pEntry);
//Iterate thru all processes
while(1)
{
BOOL Res=Process32Next(hSnapShot,&pEntry); if(Res==FALSE)
{
break;
}
if(wcscmp(pEntry.szExeFile,TEXT("Dlg2.exe")) == 0)
{
::EnumWindows(lpEnumFunc,pEntry.th32ProcessID);
}}然后在lpEnumFunc回调函数中,使用传入的hwnd调用SendMessage,但是另外一个对话框没反应。
解决方案 »
- MFC编译运行没错,但运行EXE出错
- 急!!对话框创建或透明的问题
- 关于 基于TCP协议传送文件的问题,在接收文件的线程死循环中,是如何跳出这个循环的?
- TVM_GETITEM为何无法得到信息?
- 关于ODBC数据源
- 广播接收的问题
- 串行通信程序如何传输文件!!
- 截取鼠标光标图标的方法谁知道?(高分相送)
- 如何调用系统的格式化软盘的对话框?
- 非巨牛莫进!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- VC2008 在UNICODE环境下输出中文字符串
- winsock传输vector<string>的问题
2. 管道
3. 邮糟
4. tcp/ip
等等
void CDataMsgMainDlg::OnSend()
{
HWND hwnd=::FindWindow(NULL,"DataMsgClient");
if(hwnd!=NULL)
{
CString msgedit;
GetDlgItem(IDC_EDIT1)->GetWindowText(msgedit);
COPYDATASTRUCT data={0};
data.dwData=(DWORD)this->GetSafeHwnd();
data.cbData=msgedit.GetLength();
data.lpData=msgedit.GetBuffer(msgedit.GetLength());
::SendMessage(hwnd,WM_COPYDATA,(WPARAM)this->GetSafeHwnd(),(LPARAM)&data);
}
//接受消息程序
BOOL CDataMsgClientDlg::OnCopyData(WWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct)
{
char masgdata[256];
DWORD size=pCopyDataStruct->cbData;
CopyMemory(msgdata,pCopyDataStruct->lpData,size);
msgdata[size]='\0';
GetDlgItem(IDC_EDIT1)->SetWindowText(msgdata);
return CDialog::OnCopyData(pWnd,pCopyDataStruct);
}