VC++ Unicode下的编程 SendMessage

Use Unicode Character Set与Use Multi-Byte Character Set下的编程是完全不同的,自我认为Unicode 比较让人头疼!

下面,我写了一个改变窗口标题的小程序:

BOOL CALLBACK EnumWindowProc(HWND hwnd,LPARAM lParam);
void CqwDlg::OnBnClickedButton2()
{
 // TODO: Add your control notification handler code here
   UpdateData();
   int len = m_name.GetLength();
   EnumWindows(EnumWindowProc,(LPARAM)(m_name.GetBuffer(len)));
}
BOOL CALLBACK EnumWindowProc(HWND hwnd,LPARAM lParam)
{
CString we = (LPCTSTR)lParam;

CString str;
GetWindowText(hwnd,str.GetBuffer(100),100);
if(str==_T("计算器"))
{
 SendMessage(hwnd,WM_SETTEXT,0,(LPARAM)(LPCTSTR)(we));
}
   return true;
}

其中Unicode下的SendMessage(hwnd,WM_SETTEXT,0,(LPARAM)(LPCTSTR)(we));

起初我写成了SendMessage(hwnd,WM_SETTEXT,(LPARAM)we.Getbuffer(0));只能发送一个字符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值