自定义消息发送unicode或ascii字符串
来源:互联网 发布:淘宝保证金骗局 编辑:程序博客网 时间:2024/06/06 00:24
有时候需要通过消息发送字符串。下面是我实现的一种方法,可以发送unicode或ascii字符串。
虽然写出来了,但是还有一些细节,自己也没搞明白!!!
为了使代码通用,使用了以下函数和变量定义:
字符串指针:LPCTSTR、TCHAR*(有些函数不识别LPCTSTR)
通过字符串指针获取字符串长度:_tcslen
size_t wcslen( const wchar_t * _Str);size_t strlen( const char * _Str);
字符串拷贝的问题
消息定义:
#ifndef WM_TEST1#define WM_TEST1 (WM_APP+1)#endifBEGIN_MESSAGE_MAP(CTestDlg, CDialogEx)//...ON_MESSAGE(WM_TEST1,&CTestDlg::OnTest)END_MESSAGE_MAP()
触发消息函数定义:
void CTestDlg::OnBnClickedButton1(){LPCTSTR sendStr = _T("哈哈");//发送的字符串//发给自己::SendMessage( this->GetSafeHwnd(), WM_TEST1, (UINT)sendStr, 0 );}
消息响应函数声明和定义:
//声明在头文件afx_msg LRESULT OnTest( WPARAM w,LPARAM l );//定义在cppLRESULT CTestDlg::OnTest( WPARAM w,LPARAM l ){int n = _tcslen((TCHAR*)w);//string.hTCHAR *ptest = (TCHAR *)malloc( n*sizeof(TCHAR)+2 );//unicode下需要+2memcpy( ptest, (TCHAR*)w, n*sizeof(TCHAR)+2 );free(ptest);return 0;}
其实没必要每次都malloc、free,这样对效率影响比较大,还不如直接分配出一大块内存出来专门存放字符串。上面的方式主要是灵活一些。以时间换空间了。
- 自定义消息发送unicode或ascii字符串
- 自定义消息发送字符串
- Delphi窗体间发送消息或字符串
- Delphi窗体间发送消息或字符串
- Hanlder SendMessage 如何发送字符串或消息
- Ascii utf8 Unicode 字符串转换
- ASCII字符串与UNICODE字符串转换
- VS2005设置Unicode或ASCII字符集问题
- VS2005设置UNICODE或ASCII字符集问题
- VS2005设置Unicode或ASCII字符集问题
- 自定义消息及发送
- 总结:发送自定义消息
- 总结:发送自定义消息
- 总结:发送自定义消息
- 总结:发送自定义消息
- MFC - 发送自定义消息
- 字符串基础 ASCII MBCS UNICODE DBCS
- ASCII,UTF-8,Unicode字符串相互转换
- shell调用shell,列出服务器进程和文件的头15行
- srt字幕解析
- Android如何获取屏幕的分辨率
- Android Activity 常用功能设置(全屏、横竖屏等)
- Java栈与堆
- 自定义消息发送unicode或ascii字符串
- dojo.string.substitute() 函数示例
- android短信监听
- MySQL 常用命令
- Log4net 简明手册
- 领导一声令下
- Google在线Chart API共享使用
- Usaco 1.1.2 贪婪的送礼者(Greedy Gift Givers)
- C# 文件操作 全收录 追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件....