有时候中英文确定取消的都不好使,这个时候就要用到自定义按钮名称了
先声明添加:
extern HHOOK hHook;//自定义按钮名称
extern LRESULT __stdcall CBTHookProc(long nCode, WPARAM wParam, LPARAM lParam);
HHOOK hHook;
LRESULT __stdcall CBTHookProc(long nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode == HCBT_ACTIVATE)
{
SetDlgItemText((HWND)wParam, IDYES, TEXT("123"));//YSE改为123
SetDlgItemText((HWND)wParam, IDNO, TEXT("456"));//NO改为456
SetDlgItemText((HWND)wParam, IDOK, TEXT("789"));//OK改为789
SetDlgItemText((HWND)wParam, IDCANCEL,TEXT("000"));//取消改为000
UnhookWindowsHookEx(hHook);
}
return 0;
}
使用方法:
hHook = SetWindowsHookEx(WH_CBT, (HOOKPROC)CBTHookProc, NULL, GetCurrentThreadId());//MessageBox前
MessageBox(NULL, TEXT("内容"), TEXT("标题"), MB_ICONWARNING | MB_YESNO);