在 Dragon NaturallySpeaking 的高级脚本中将活动 window 的标题复制到 Microsoft Windows 中的剪贴板
Copy the title of the active window to the clipboard in Microsoft Windows in Dragon NaturallySpeaking's advanced scripting
在 Dragon NaturallySpeaking 的高级脚本中,是否有任何方法可以将活动 window 的标题复制到 Microsoft Windows 的剪贴板?
我使用的解决方法是定义一个 AutoHotkey 脚本:
^!l::
WinGetActiveTitle, Title
Clipboard = %Title%
return
并在语音命令中调用键盘快捷键:
但我不想在 AutoHotkey 和 Dragon NaturallySpeaking 之间混为一谈。可以在 "pure" 高级脚本中完成吗?
是的,您可以使用 Dragon NaturallySpeaking 的高级脚本将活动 window 的标题复制到剪贴板,如下所示:
'
' get window title
'
Sub Main
Clipboard ( GetWindowTitle )
End Sub
'
' Use these Windows Functions for Getting an active Window title
'
Declare Function GetForegroundWindow Lib "user32" () As Long
'
Declare Function GetWindowText Lib "user32" _
Alias "GetWindowTextA" ( ByVal hwnd As Long , _
ByVal lpString As String , ByVal cch As Long ) As Long
'
' GetWindowTitle
' (Gets an active Window title)
'
Function GetWindowTitle() As String
Dim x As Integer
Dim TitleText As String * 300
Dim hw As Long
hw = GetForegroundWindow()
x = GetWindowText ( hw , TitleText , Len ( TitleText ) )
GetWindowTitle = Trim ( Left ( TitleText , x ) )
End Function
'
现在,我将所有函数保存在一个全局 '#Uses 文件中(带有其他声明、函数和全局常量等),所以我只需要 Main Sub 部分,但您可以将所有引用的在您需要的一个脚本中也包含函数和声明。
Hth
在 Dragon NaturallySpeaking 的高级脚本中,是否有任何方法可以将活动 window 的标题复制到 Microsoft Windows 的剪贴板?
我使用的解决方法是定义一个 AutoHotkey 脚本:
^!l::
WinGetActiveTitle, Title
Clipboard = %Title%
return
并在语音命令中调用键盘快捷键:
但我不想在 AutoHotkey 和 Dragon NaturallySpeaking 之间混为一谈。可以在 "pure" 高级脚本中完成吗?
是的,您可以使用 Dragon NaturallySpeaking 的高级脚本将活动 window 的标题复制到剪贴板,如下所示:
'
' get window title
'
Sub Main
Clipboard ( GetWindowTitle )
End Sub
'
' Use these Windows Functions for Getting an active Window title
'
Declare Function GetForegroundWindow Lib "user32" () As Long
'
Declare Function GetWindowText Lib "user32" _
Alias "GetWindowTextA" ( ByVal hwnd As Long , _
ByVal lpString As String , ByVal cch As Long ) As Long
'
' GetWindowTitle
' (Gets an active Window title)
'
Function GetWindowTitle() As String
Dim x As Integer
Dim TitleText As String * 300
Dim hw As Long
hw = GetForegroundWindow()
x = GetWindowText ( hw , TitleText , Len ( TitleText ) )
GetWindowTitle = Trim ( Left ( TitleText , x ) )
End Function
'
现在,我将所有函数保存在一个全局 '#Uses 文件中(带有其他声明、函数和全局常量等),所以我只需要 Main Sub 部分,但您可以将所有引用的在您需要的一个脚本中也包含函数和声明。
Hth