【问题标题】:Get the text within a dialog box获取对话框中的文本
【发布时间】:2010-05-01 20:13:42
【问题描述】:

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

【问题讨论】:

    标签: windows api dialog


    【解决方案1】:

    如果我正确理解你的问题,你的问题就很简单了。从 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++ 找到的值。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多