Я ищу способ сделать это.
Используя панель буфера обмена ArsClip, я вижу, что когда я выбираю файл в Проводнике Windows и копирую его, его полный путь сохраняется в буфере обмена.
Если я продолжу выбирать Проводник Windows и вставлю этот файл, он будет скопирован в текущую программу.
Если я иду в Notepad2 (или любой текстовый редактор) и вставляю, обычное поведение ничего не происходит. Я хотел бы, чтобы путь к файлу был вставлен в виде текста.
Я пытаюсь реализовать эту функцию с помощью AutoHotKey. Мне нужно:
1) intercept paste command, not just Ctrl+V keystroke
2) verify if the pasting target is a text editor and not a file manager
3) when that's the case, I'd need to retrieve the file path from clipboard, which ArsClip is able to do
4) then edit clipbard to place that string into it, so that the paste command will write the string to the target.
Я не против потерять ссылку на файл. Это означает, что я не против, если после запуска этой процедуры Windows Explorer больше не будет копировать файл.
Есть идеи как это сделать?
Основываясь на ответе пользователя 3419297, я сделал этот код:
~F9:: ; run when F9 is pressed, ~ makes any other feature still trigger
if GetKeyState("ScrollLock", "T") ; only run if ScrollLock is active, easy way to quickly suspend the feature
&& WinActive("ahk_class CabinetWClass") ; only run when WinExplorer is active window
{
clipboard := "" ; empty clipboard
Send, ^c ; copy the selected file
ClipWait, 1 ; wait for the clipboard to contain data
if (!ErrorLevel) ; If NOT ErrorLevel clipwait found data on the clipboard
clipboard := clipboard ; convert to text (= copy the path)
}
return