我正在尝试查找特定的窗口类,并希望通过 DNS 命令向它发送自定义消息。我很难找到窗户。
这是记事本的一个工作示例:
Declare Function FindWindow Lib "USER32" _
(ByVal lpszClassName As String, ByVal lpszWindow As String) As Long
Sub Main
Dim hWnd As Long
hWnd = FindWindow("Notepad", "Unbenannt - Editor") '<-- german title; change it
Debug.Print CStr(hWnd)
End Sub
但是,如果我使用以下内容,它将找不到句柄:
hWnd = FindWindow("Notepad", vbNullString)
我认为它应该。这是它的MSDN 条目。它指出,窗口名称是可选的。我错过了什么吗?
我认为在我的情况下获取窗口名称不是一个选项,因为目标是一个富编辑控件,它在发送内容而不是静态标题(这是标准行为)时没有静态窗口名称。所以我需要在不提供窗口名称的情况下让它工作。