HHOOK hHook;
LRESULT __stdcall CBTHookProc( long nCode,WPARAM wParam,LPARAM lParam)
{
if (nCode==HCBT_ACTIVATE)
{
SetDlgItemText((HWND)wParam,IDOK, L"取消更新");
UnhookWindowsHookEx(hHook);
}
return 0;
LRESULT __stdcall CBTHookProc( long nCode,WPARAM wParam,LPARAM lParam)
{
if (nCode==HCBT_ACTIVATE)
{
SetDlgItemText((HWND)wParam,IDOK, L"取消更新");
UnhookWindowsHookEx(hHook);
}
return 0;
}
调用 Messagebox之前调用:
hHook=SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,NULL, GetCurrentThreadId());
MessageBox(NULL, _T(" 正在更新文件... "), STR_CAPTION, MB_OK);