Estou usando o AutoHotKey, como mostrado abaixo.
Mas isso é um tanto complicado, já que o AFAIK não tem como prever e posicionar o foco no campo de tempo. Eu acho que é isso (pelo menos na versão alemã) porque não existe uma combinação Alt-Key para isso. Existem apenas (aparentemente) duas combinações de teclas Alt: para o botão "Los" (alemão para "OK") e para "Abbrechen (alemão para" Cancelar "). O próximo problema é que o diálogo não é modal e pressiona Alt -Keys ativa os menus na janela principal.
Portanto, estou usando MouseClick
para clicar no campo de tempo. As coordenadas podem variar dependendo da resolução da tela. Altere isso para a resolução da tela. Evtl. use AutoHotKey's WindowSpy
para obter suas coordenadas
Além disso, guardo o conteúdo original da área de transferência e a posição do mouse no início do script e os restauro no final.
; # Insert Timestamp from VLC
#ifWinActive ahk_exe WINWORD.EXE
F8::
; GoToTimeDialogName:="Zu Zeitpunkt gehen" ; # german name of "Go to Time" dialog
GoToTimeDialogName:="Go to Time" ; # english name of "Go to Time" dialog
ClipSaved := ClipboardAll ; # Save the entire clipboard
MouseGetPos x, y ; # get current mouse position
if WinExist("ahk_exe vlc.exe") { ; # if vlc existst, i.e. vlc is running
WinActivate ; # activate vlc window
Send, {Esc} ; # make sure you are not in other dialogs
Send, ^t ; # open the "Go to Time" dialog
if WinExist(GoToTimeDialogName) { ; # if the "Go to Time" dialog exists
WinActivate ; # activate "Go to Time" dialog exists
MouseClick, left, 120, 48 ; # click on time field (change this for other screen resolutions)
Send, ^a ; # select time field
Send, ^c ; # copy to clipboard
ClipWait ; # Wait for the clipboard to contain text.
ts:=clipboard ; # get content of clipboard to var "ts"
Send, ^t ; # quit "Go to Time" dialog
}
}
if WinExist("ahk_exe WINWORD.EXE") { ; # if word exists
WinActivate ; # activate word window
Send, [%ts%]{space} ; # insert the timestamp surrounded by brackets and a space
}
Clipboard := ClipSaved ; # Restore the original clipboard
MouseMove %x%, %y% ; # move mouse to original position
Return