如何用SendMessage()函数传递字符串
来源:互联网 发布:便筏 元数据损坏 编辑:程序博客网 时间:2024/04/30 09:16
如何用SendMessage()函数传递字符串
-----------------------------
一、两个参数都带字符串的形式:
void CAaaDlg::OnButton1()
{
char* p1 = "Willis";
char* p2 = "VCHelp";
SendMessage(WM_CURRENTINFO, (WPARAM)p1, (LPARAM)p2 );
}
LRESULT CAaaDlg::OnCurrentInfo(WPARAM wParam, LPARAM lParam )
{
MessageBox((LPSTR)wParam,(LPSTR)lParam,0);//消息函数里接收字符串
return 0;
}
--------
二、只带一个字符串的形式:
CString strPara = _T("fggg");
::SendMessage(hWnd,WM_XXXX,0,(LPARAM)(LPCTSTR)strPara);
OnMessageXXXX(WPARAM wParam,LPARAM lParam)
{
CString strddd = (LPCTSTR)lParam; //在消息处理函数里接收字符串
}
////////how to use wm_copydata to pass string
使用WM_COPYDATA:
CString str = _T( "Hello" );
HWND hWndReceived = FindWindow( "Receiver", NULL );
COPYDATASTRUCT cpd;
cpd.dwData = 0;
cpd.cbData = strDataToSend.GetLength();
cpd.pData = (void*)str.GetBuffer(cpd.cbData);
SendMessage( hWndReceived, WM_COPYDATA, 0, (LPARAM) & cpd );
str.ReleaseBuffer();
加入映射宏:
BEGIN_MESSAGE_MAP(CMyWnd, CWnd)
//{{AFX_MSG_MAP(CMyWnd)
...
ON_WM_COPYDATA()
...
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
...
映射函数:
BOOL CMyWnd::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct)
{
CString strRecievedText = (LPCSTR) (pCopyDataStruct->lpData);
return CMyWnd::OnCopyData(pWnd, pCopyDataStruct);
}
- 如何用SendMessage()函数传递字符串
- 如何用SendMessage()函数传递字符串
- MFC SendMessage()函数传递字符串
- SendMessage()传递字符串
- 如何用函数名字符串来调用函数
- C#使用SendMessage传递字符串
- VC中SendMessage()传递字符串
- c++ 如何用一个函数实现两个字符串的比较
- 如何用SendMessage模拟某一按钮的点击事件
- 如何用SendMessage模拟某一按钮的点击事件
- 如何用SendMessage模拟某一按钮的点击事件
- 【转】如何用SendMessage模拟某一按钮的点击事件
- 转发:如何用SendMessage模拟某一按钮的点击事件
- 如何用SendMessage模拟某一按钮的点击事件
- switch语句如何用字符串?
- 如何用剪切板实现数据传递(本文分字符串和对象)
- (转)C#使用SendMessage传递字符串
- 如何用Response.Redirect传递汉字
- javascript页面之间传取值
- 调用DLL有两种方法(静态调用和动态调用)简介
- Hibernate的二级缓存之查询缓存
- Win32环境下动态链接库(DLL)编程原理
- 提高aspx页面响应速度的常用方法
- 如何用SendMessage()函数传递字符串
- 金祥工作!
- 请这样使用断言assert
- 小试CodeIgniter
- VC常见的108个问题
- 学院派VS江湖派
- memcpy、memset的实现
- 40种网站设计常用技巧
- ubuntu找到支持的所有的字符集