Scripting 在DNS高级脚本中,是否可以在不提供WindowName的情况下找到窗口

Scripting 在DNS高级脚本中,是否可以在不提供WindowName的情况下找到窗口,scripting,naturallyspeaking,Scripting,Naturallyspeaking,我试图找到一个特定的窗口类,并希望通过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"

我试图找到一个特定的窗口类,并希望通过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
我认为应该这样。这是它的基本原理。它表示窗口名称是可选的。我错过什么了吗


我认为在我的例子中,获取窗口名不是一个选项,因为目标是一个丰富的编辑控件,它在发送内容时不会有静态窗口名,而不是静态标题(这是标准行为)。因此,我需要在不提供窗口名称的情况下实现这一点。

在这种情况下,我的行动是通过语音调用一个自动热键脚本,该脚本可以完成您想要完成的所有操作。尝试在后台执行“命令行”,6。你甚至可以将信息返回到你正在运行的Dragon高级脚本(使用剪贴板)。如果你找到了答案,请告诉我们。这个问题对我来说已经过时了。我感谢您在PGilm上的投入。我确实向我的应用程序(如VK_OEM_FJ_MASSHOU)发送了未使用的键码,以触发某个不需要参数的事件。(这里有一个完整的虚拟键列表:)在这些情况下,我要做的是通过语音调用一个自动热键脚本,它可以做任何你想做的事情。尝试在后台执行“命令行”,6。你甚至可以将信息返回到你正在运行的Dragon高级脚本(使用剪贴板)。如果你找到了答案,请告诉我们。这个问题对我来说已经过时了。我感谢您在PGilm上的投入。我确实向我的应用程序(如VK_OEM_FJ_MASSHOU)发送了未使用的键码,以触发某个不需要参数的事件。(此处提供了虚拟密钥的完整列表:)
hWnd = FindWindow("Notepad", vbNullString)