我在发送程序中用:
CString str="Receiver";
CString sendstr = "haha";
CWnd *pWnd=CWnd::FindWindow(NULL,str);
if(pWnd)
pWnd->SendMessage(WM_COMM,0,(LPARAM)&sendstr);
在接收端用:
char str[256];
::wsprintf((char*) lParam , "%s",str );
怎么收不到值啊?请高手指点!先给100分
CString str="Receiver";
CString sendstr = "haha";
CWnd *pWnd=CWnd::FindWindow(NULL,str);
if(pWnd)
pWnd->SendMessage(WM_COMM,0,(LPARAM)&sendstr);
在接收端用:
char str[256];
::wsprintf((char*) lParam , "%s",str );
怎么收不到值啊?请高手指点!先给100分
解决方案 »
- 怎么删除SQL2000里的数据?
- MFC Active
- vc++6.0 除了sp6是不是还有别的补丁?怎么下?
- 现在搞VC工资到底高到多少低到多少??
- 菜鸟问题,解决就给分~
- 如何编程实现bmp到二进制的转换?
- 使用ftp上传一些文件后,为什么_T("")会变成_T("/")??
- 请问,我想把两个字符串传递给线程函数,如何做呢?
- 請問如何在程序(VB/VC)中響應dll中發出的消息,對dll有什麼要求嗎?
- Where can I find Programming Application For Windows (Electronic Version)
- 简单的问题:怎么简单的将unsigned char中的二进制的某一位提出来???
- when I use OLEDB, compile msdn sample catdb, some errros are as follows. what is happening:
当然没有值
你发的只是一个地址值
而各个进程间的内存地址是独立的~~~
在程序A这个地址是个CString,在程序B还不知道是什么呢
void CTestDlg::OnButton1()
{
COPYDATASTRUCT t;
char str[] = "abcde";
t.lpData = str;
t.cbData = sizeof(str);
t.dwData = 0;
HWND hWnd = FindWindow(...);//也可通过别的办法得到目标程序的hwnd
::SendMessage(hWnd, WM_COPYDATA, (WPARAM) (HWND) hWnd, (LPARAM) (PCOPYDATASTRUCT)&t);
}接收程序:
//在类向导中添加WM_COPYDATA消息处理
BOOL CaaaDlg::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct)
{
CString s((LPCTSTR)pCopyDataStruct->lpData);
MessageBox(s);
return CDialog::OnCopyData(pWnd, pCopyDataStruct);
}
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/dataexchange/datacopy/usingdatacopy.asp使用共享内存:
http://www.codeproject.com/threads/csharedstruct.asp
我添加到CMyView里不行啊!
WM_SETTEXT 会帮你复制 这个进程 的字符串 到另一个进程
WM_SETTEXT 会帮你复制 这个进程 的字符串 到另一个进程
WM_SETTEXT 会帮你复制 这个进程 的字符串 到另一个进程
WM_SETTEXT 会帮你复制 这个进程 的字符串 到另一个进程
WM_SETTEXT 会帮你复制 这个进程 的字符串 到另一个进程
WM_SETTEXT 会帮你复制 这个进程 的字符串 到另一个进程
WM_SETTEXT 会帮你复制 这个进程 的字符串 到另一个进程
WM_SETTEXT 会帮你复制 这个进程 的字符串 到另一个进程
WM_SETTEXT 会帮你复制 这个进程 的字符串 到另一个进程
WM_SETTEXT 会帮你复制 这个进程 的字符串 到另一个进程
WM_SETTEXT 会帮你复制 这个进程 的字符串 到另一个进程
WM_SETTEXT 会帮你复制 这个进程 的字符串 到另一个进程
WM_SETTEXT 会帮你复制 这个进程 的字符串 到另一个进程
WM_SETTEXT 会帮你复制 这个进程 的字符串 到另一个进程
WM_SETTEXT 会帮你复制 这个进程 的字符串 到另一个进程
WM_SETTEXT 会帮你复制 这个进程 的字符串 到另一个进程
WM_SETTEXT 会帮你复制 这个进程 的字符串 到另一个进程
WM_SETTEXT 会帮你复制 这个进程 的字符串 到另一个进程
WM_SETTEXT 会帮你复制 这个进程 的字符串 到另一个进程
WM_SETTEXT 会帮你复制 这个进程 的字符串 到另一个进程
WM_SETTEXT 会帮你复制 这个进程 的字符串 到另一个进程
WM_SETTEXT 会帮你复制 这个进程 的字符串 到另一个进程
我的发送程序是
COPYDATASTRUCT t;
char str[] = "hahaha";
t.lpData = str;
t.cbData = sizeof(str);
t.dwData = 0;
HWND hWnd = ::FindWindow(NULL,"Receiver");
if (hWnd!=NULL)
{
::SendMessage(hWnd, WM_COPYDATA, (WPARAM) (HWND) hWnd, (LPARAM) (PCOPYDATASTRUCT)&t);
}
else MessageBox("I can not find window");
接受是
CString s((LPCTSTR)pCopyDataStruct->lpData);
MessageBox(s);