在对话框中获取文本

时间:2010-05-01 20:13:42

标签: windows api dialog

我可以使用哪种Windows API函数在对话框中获取文本?例如,如果我有错误消息对话框的句柄,我怎么能得到显示的错误消息?

2 个答案:

答案 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获取其文本。