【发布时间】:2015-10-07 13:10:15
【问题描述】:
我有一个对话框句柄。我想在对话框的输入中获取文本。我可以使用 GetDlgItemText() 函数来获取文本。但是我必须将字段的控件ID作为参数。那么我应该如何找到一个字段的控件ID(我需要的字段是更改密码对话框中的“新密码”)。
【问题讨论】:
-
GetDlgCtrlID()。或者更好的是,使用SendMessage(hwnd, WM_GETTEXT, textLen + 1, (LPARAM)buffer); -
我检查过了。我必须将控件的句柄作为参数提供给 GetDlgCtrlID() 函数。如果我必须从对话框句柄中获取控制句柄,我可以使用 GetDlgItem() 函数,该函数再次需要控件 ID 作为参数。所以我不知道该怎么办。
-
我添加“winlogon”作为标签的原因是在那种情况下会出现更改密码对话框。有一些方法(VS中的spy++)可以找到普通对话框的控件ID(保存在记事本中)。在这种情况下我也无法使用它
-
澄清一下,您想从对话框窗口中的某个编辑框中获取文本,而您拥有的唯一标识符就是它的句柄,对吧?
-
是的。该对话框是更改密码对话框,我需要的字段是“新密码”。我在问题的最后一行提到了它。
标签: windows winapi visual-c++ dialog