WM_IME_CHAR使用

输入法应该都是这个消息,一个一个字的发送到目标句柄

void SendMsg(HWND hWnd,CHAR *msg)
{
	UINT _length = strlen(msg);
	for(UINT i=0;i<_length;i++)
	{
		if(msg[i] < 0)//负数占2字节
		{
			WPARAM wChar = (BYTE)msg[i];
			wChar<<=8;//高8位
			wChar|=(BYTE)msg[++i];//低8位
			SendMessageA(hWnd,WM_IME_CHAR,wChar,NULL);
		}
		else
		{
			WPARAM wChar = (BYTE)msg[i];
			SendMessageA(hWnd,WM_IME_CHAR,wChar,NULL);
		}
	}
}


你可能感兴趣的:(WM_IME_CHAR使用)