Estou usando o AutoHotKey, conforme mostrado abaixo.
Mas isso é um pouco complicado, já que a 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 há combinação de teclas Alt para ele. 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 hora. As coordenadas podem variar dependendo da resolução da tela. Por favor, mude isso para a sua resolução de tela. Evtl. use WindowSpy
do AutoHotKey para obter suas coordenadas
Além disso, eu armazeno 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