我可以使用什么 Windows API 函数来获取对话框中的文本?例如,如果我有错误消息对话框的handle,我怎样才能获得显示的错误消息?
如果我正确理解你的问题,你的问题就很简单了。从 Visual Studio Tools 菜单中打开 Spy++。然后按 Ctrl + F 接收查找窗口的对话框。将“Finder 工具”拖放到要从中读取文本的对话框内的控件上;查看窗口的属性,“Control ID”字段就是您所需要的。
如果您有对话框窗口的句柄 (
HWND hDlg
),您应该使用 GetDlgItemText
函数:
UINT GetDlgItemText(HWND hDlg,
int nIDDlgItem,
LPTSTR lpString,
int nMaxCount
);
阅读文本。作为
nIDDlgItem
参数,您应该放置控件的标识符。这是您使用 Spy++ 找到的值。
对话框实际上并不包含文本 - 它们包含其他包含文本的控件。您必须枚举或以其他方式找到对话框的适当子窗口,并使用
GetWindowText
获取其文本。