我可以使用哪种Windows API函数在对话框中获取文本?例如,如果我有错误消息对话框的句柄,我怎么能得到显示的错误消息?
答案 0 :(得分:1)
如果我正确理解您的问题,您的问题就很容易了。从Visual Studio 工具菜单中打开 Spy ++ 。然后按 Ctrl + F 以接收查找窗口的对话框。拖拽将“Finder工具”放在要从中读取文本的对话框内的控件上;看一下窗口的属性,你需要的是“控制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 ++找到的值。
答案 1 :(得分:0)
对话框实际上不包含文本 - 它们包含其他包含文本的控件。您必须枚举或以其他方式找到对话框的相应子窗口,并使用GetWindowText获取其文本。