[C] 纯文本查看 复制代码 #include <windows.h>
// 钩子函数
LRESULT CALLBACK MessageBoxHook(int nCode, WPARAM wParam, LPARAM lParam) {
// 检查消息是否是对话框消息
if (nCode == HC_ACTION && wParam == PM_REMOVE) {
MSG* pMsg = (MSG*)lParam;
if (pMsg->message == WM_INITDIALOG) {
// 获取对话框句柄
HWND hDlg = pMsg->hwnd;
// 判断对话框标题是否匹配特定对话框
char title[256];
GetWindowTextA(hDlg, title, sizeof(title));
if (strcmp(title, "Winlicense") == 0) {
// 在这里进行你的处理逻辑
// 例如,可以修改对话框的文本或按钮行为
// 返回非零值表示拦截消息
return 1;
}
}
}
// 调用下一个钩子或默认过程
return CallNextHookEx(NULL, nCode, wParam, lParam);
}
int main() {
// 安装钩子函数
HHOOK hHook = SetWindowsHookEx(WH_GETMESSAGE, MessageBoxHook, NULL, GetCurrentThreadId());
// 运行你的程序
// 卸载钩子函数
UnhookWindowsHookEx(hHook);
return 0;
}
|