【发布时间】:2010-05-01 20:13:42
【问题描述】:
我可以使用哪些 Windows API 函数来获取对话框中的文本?例如,如果我有一个错误消息对话框的句柄,我怎么能得到显示的错误消息?
【问题讨论】:
我可以使用哪些 Windows API 函数来获取对话框中的文本?例如,如果我有一个错误消息对话框的句柄,我怎么能得到显示的错误消息?
【问题讨论】:
如果我正确理解你的问题,你的问题就很简单了。从 Visual Studio 工具 菜单中打开 Spy++。然后按 Ctrl + F 以接收用于查找窗口的对话框。将“查找工具”拖放到要从中读取文本的对话框内的控件上;查看窗口的属性,“控件 ID”字段就是您所需要的。
如果您有对话窗口的句柄 (HWND hDlg),您应该使用 GetDlgItemText 函数(参见 http://msdn.microsoft.com/en-us/library/ms645489(VS.85).aspx)
UINT GetDlgItemText(HWND hDlg,
int nIDDlgItem,
LPTSTR lpString,
int nMaxCount
);
阅读文本。作为nIDDlgItem 参数,您应该放置控件的标识符。这是您使用 Spy++ 找到的值。
【讨论】:
对话框实际上并不包含文本 - 它们包含包含文本的其他控件。您必须枚举或以其他方式找到对话框的相应子窗口,并使用GetWindowText 获取其文本。
【讨论】: