已知某messagebox的句柄,如何获取该messagebox的提示信息文本?

oymyisme 2007-10-31 11:48:32
谢谢各位大虾了。
...全文
251 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
oymyisme 2007-10-31
  • 打赏
  • 举报
回复
楼上能具体讲下么?小弟比较菜的说,不会用GetWindow的说。谢谢了
yxz_lp 2007-10-31
  • 打赏
  • 举报
回复
楼上的做过测试没有,不要误人子弟。
以下是《Windows 核心编程》动态更改提示框内容的函数。

// This is STATIC window control ID for a message box
#define ID_MSGBOX_STATIC_TEXT 0x0000ffff//提示框的ID为固定的 0x0000ffff


//////////////////////////////////////////////////////////////////////////////


VOID WINAPI MsgBoxTimeout(PVOID pvContext, BOOLEAN fTimeout) {

// NOTE: Due to a thread race condition, it is possible (but very unlikely)
// that the message box will not be created when we get here.
HWND hwnd = FindWindow(NULL, g_szCaption);//g_szCaption对话框标题

if (hwnd != NULL) {
// The window does exist; update the time remaining.
TCHAR sz[100];
wsprintf(sz, TEXT("You have %d seconds to respond"), g_nSecLeft--);
//GetDlgItemText(hwnd,ID_MSGBOX_STATIC_TEXT,sz,100);//测试代码,能正确获得提示框内容
SetDlgItemText(hwnd, ID_MSGBOX_STATIC_TEXT, sz);

if (g_nSecLeft == 0) {
// The time is up; force the message box to exit.
EndDialog(hwnd, IDOK);
}
} else {

// The window does not exist yet; do nothing this time.
// We'll try again in another second.
}
}

凤矶 2007-10-31
  • 打赏
  • 举报
回复
::GetDlgItemText()只能得到标题
试着用GetWindow得到它的有文本的STATIC
yxz_lp 2007-10-31
  • 打赏
  • 举报
回复
::GetDlgItemText()
zhixinxin21 2007-10-31
  • 打赏
  • 举报
回复
MessageBox("要提示的信息");
AfxMessageBox("要提示的信息");
我只会这2种了
凤矶 2007-10-31
  • 打赏
  • 举报
回复
学习ing
凤矶 2007-10-31
  • 打赏
  • 举报
回复
:yxz_lp ,你的办法好,我是没试过用GetWindow改MESSAGEBOX
oymyisme 2007-10-31
  • 打赏
  • 举报
回复
搞定了,4楼太谢谢你啦。为啥我点帖子加分,说此帖发出时间不到5天啊,不让加阿?
yxz_lp 2007-10-31
  • 打赏
  • 举报
回复
郁闷~~~
// This is STATIC window control ID for a message box
#define ID_MSGBOX_STATIC_TEXT 0x0000ffff//提示框的ID为固定的 0x0000ffff
oymyisme 2007-10-31
  • 打赏
  • 举报
回复
ID_MSGBOX_STATIC_TEXT 不能识别的 标示。。。。。郁闷了
yxz_lp 2007-10-31
  • 打赏
  • 举报
回复
把 SetDlgItemText(hwnd, ID_MSGBOX_STATIC_TEXT, sz);
替换成
GetDlgItemText(hwnd,ID_MSGBOX_STATIC_TEXT,sz,100);//测试代码,能正确获得提示框内容
/////////////////////////////////////////////
这不就是获得对话框的函数吗
oymyisme 2007-10-31
  • 打赏
  • 举报
回复
哈哈,没仔细看到 4楼注释部分。。。。。。。谢谢了,马上去试一下。
oymyisme 2007-10-31
  • 打赏
  • 举报
回复
权限太低无法修改帖子。。。。。。
4楼的谢谢你了。但不是我要的答案。我是想获得提示文本,而不是修改提示文本。。。
3楼能具体讲讲GetWindow()函数么,谢谢了

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧