Em relação à primeira parte do seu código, você também pode se beneficiar do uso do WinMenuSelectItem para obter melhor velocidade / confiabilidade na seleção do item de menu sem ter que enviar pressionamentos de teclas e aguardar a resposta do menu.
Isso funcionará para a maioria dos menus, como os do Notepad ++ (mas não para os aplicativos Microsoft Ribbon).
Incorporando trechos de código acima em um exemplo ...
^!e::
lastClip := clipboardAll ; save the clipboard contents so they don't get overwritten
clipboard := ""
WinMenuSelectItem, A,,Edit,Copy to Clipboard,Current Full File path to Clipboard ; A = Active Window... make sure menu descriptions match exactly
clipWait, 1 ; wait for new clipboard contents max 1 second
if ErrorLevel
{
MsgBox, The attempt to copy failed
clipboard := lastClip
return
}
; Remove file-ending
fileNamePath := RegExReplace(Clipboard, "\..*$", "")
; Run command
Run, pandoc -o "%fileNamePath%.pdf" "%Clipboard%"
clipboard := lastClip ; restore clipboard to previous contents
return
No código acima, 'A' significa janela ativa. Na verdade, não tentei testar esse código ... apenas certifique-se de que os nomes dos itens de menu correspondam exatamente ao que você gostaria de selecionar.