首页
社区
课程
招聘
问下,MessageBox这类似的函数能不能自定义按钮的文字?
发表于: 2011-11-22 20:39 8612

问下,MessageBox这类似的函数能不能自定义按钮的文字?

2011-11-22 20:39
8612
因为要扩展程序的功能不想用太多的代码,请问有没这类似的函数?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 248
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
自己解决了。
附上源码
//=====================
#include <windows.h>
HHOOK hHook;
LRESULT __stdcall CBTHookProc( long nCode,WPARAM wParam,LPARAM lParam);
int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInstance,LPSTR szCmdLine, int iCmdShow)
{
	hHook=SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,hInst,NULL);
	if (hHook)
	{
		MessageBoxA(NULL,"你是MM吗?","测试修改按钮文本",MB_ICONINFORMATION|MB_YESNO);
	}
	else
	{
		MessageBoxA(NULL,"无法安装HOOK" ,"SC++",MB_ICONINFORMATION|MB_YESNO);
	}//if
	return 1;
}
LRESULT __stdcall CBTHookProc( long nCode,WPARAM wParam,LPARAM lParam)
{
	if (nCode==HCBT_ACTIVATE)
	{
		SetDlgItemTextA((HWND)wParam,IDYES,"&Yes");
		SetDlgItemTextA((HWND)wParam,IDNO ,"&No");
		UnhookWindowsHookEx(hHook);
	}
	return 0;
}
//==================


MFC下好像要在MessageBox的上一句上hook的。具体没测试过。
2011-11-22 21:24
0
雪    币: 102
活跃值: (85)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
3
顶楼上
hook
2011-11-22 21:34
0
雪    币: 86
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
额 觉得 这样 没必要去弄个 cbthook 不划算, 如果是 mfc 直接 弄个 对话框 弹出来 ,改造一下,免得 勾来勾去 没那个必要 ,毕竟 这东西 用起来很敏感~~
2011-11-22 22:19
0
雪    币: 248
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
有时候扩展下程序的功能,要在弄个窗口出来也是很麻烦的! 本以为MessageBox会有自定义按钮文本的。查了下结果没有!
2011-11-22 22:47
0
雪    币: 544
活跃值: (55)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
用子线程循环找找子窗口,再SetWindowText可以不?
2011-11-22 23:03
0
雪    币: 248
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
不能保证在弹出消息框的时候改变其文字啊。
2011-11-22 23:33
0
雪    币: 80
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
也可以这么用的
2011-11-23 10:01
0
雪    币: 967
活跃值: (1138)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
9
如果你经常玩破解就知道
人家是怎么做的
资源啊
2个字解决
2011-11-23 10:26
0
雪    币: 41
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
还真没想过这个问题,今天知道了
2012-1-3 09:56
0
游客
登录 | 注册 方可回帖
返回
//