当我执行时:
SendMessage(hMsgBox, WM_COMMAND, IDOK, NULL)
始终是ANSI并告诉错误:
error C2660: 'SendMessageA' : function does not take 4 parameters.
为什么不采取UNICODE?
这是我的实际代码
MessageBox("Plsease wait..","Wait",0);
HWND hMsgBox = NULL;
hMsgBox = (HWND)FindWindow("#32270", "Wait");
if (hMsgBox != NULL)
{
SendMessage(hMsgBox, WM_COMMAND, IDOK, NULL);
}
答案 0 :(得分:3)
你必须在SendMessage前加上:: like like,这样就不会调用当前类的(CWnd)SendMessage。
::SendMessage(hMsgBox, WM_COMMAND, IDOK, NULL);
另外,您必须在编译器选项中定义UNICODE预处理程序标志,以便它采用unicode版本。