Скопируйте заголовок активного окна в буфер обмена в Microsoft Windows в расширенных сценариях Dragon NaturallySpeaking.

Есть ли способ скопировать заголовок активного окна в буфер обмена в Microsoft Windows в расширенных сценариях Dragon NaturallySpeaking?

Обходной путь, который я использую, заключается в определении сценария AutoHotkey:

^!l::
WinGetActiveTitle, Title
Clipboard = %Title%
return

и вызвать сочетание клавиш в голосовой команде:

введите здесь описание изображения

но я бы предпочел не путаться между AutoHotkey и Dragon NaturallySpeaking. Можно ли это сделать в «чистом» расширенном сценарии?


person Franck Dernoncourt    schedule 20.07.2016    source источник
comment
Ответ - да (я сообщу, как скоро), но в то же время вы можете использовать расширенные сценарии для вызова сценариев AHK с помощью ShellExecute для запуска сценария AHK без необходимости активировать какую-либо горячую клавишу (и вы даже можете передать AHK некоторые параметры командной строки ). Посетите knowbrainer.com/ forums/forum/ (и обратите внимание, PG LTU — это я).   -  person PGilm    schedule 21.07.2016
comment
@PGilm Спасибо, очень приятно знать!   -  person Franck Dernoncourt    schedule 22.07.2016


Ответы (1)


Да, вы можете скопировать заголовок активного окна в буфер обмена с помощью расширенных сценариев Dragon NaturallySpeaking следующим образом:

'
'   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, но вы можете поместить все упомянутые функции и объявления в один сценарий, где он вам тоже нужен.

ч

person PGilm    schedule 21.07.2016