获取对话框中的文本

问题描述 投票:0回答:2

我可以使用什么 Windows API 函数来获取对话框中的文本?例如,如果我有错误消息对话框的handle,我怎样才能获得显示的错误消息?

windows api dialog
2个回答
3
投票

如果我正确理解你的问题,你的问题就很简单了。从 Visual Studio Tools 菜单中打开 Spy++。然后按 Ctrl + F 接收查找窗口的对话框。将“Finder 工具”拖放到要从中读取文本的对话框内的控件上;查看窗口的属性,“Control ID”字段就是您所需要的。

如果您有对话框窗口的句柄 (

HWND hDlg
),您应该使用
GetDlgItemText
函数:

UINT GetDlgItemText(HWND hDlg,
    int nIDDlgItem,
    LPTSTR lpString,
    int nMaxCount
);

阅读文本。作为

nIDDlgItem
参数,您应该放置控件的标识符。这是您使用 Spy++ 找到的值。


1
投票

对话框实际上并不包含文本 - 它们包含其他包含文本的控件。您必须枚举或以其他方式找到对话框的适当子窗口,并使用

GetWindowText
获取其文本。

© www.soinside.com 2019 - 2024. All rights reserved.