Задействовано сочетание: Ctrl + ЛКМ.
#SingleInstance force
^LButton::
Menu, m, Add, Имя1, ItemName
Menu, m, Add, Имя2, ItemName
Menu, m, Add, Имя3, ItemName
Menu, m, Add, Имя4, ItemName
Menu, m, Add, Имя5, ItemName
Menu, m, Add, Имя6, ItemName
Menu, m, Add, Имя7, ItemName
Menu, m, Add, Имя8, ItemName
Menu, m, Add, Имя9, ItemName
Menu, m, Add, Имя10, ItemName
Menu, m, show
Return
ItemName:
Islnk:=0
clipboard =
clipboard = %A_ThisMenuItem%
ClipWait
IsDir := InStr(FileExist(Clipboard), "D") ? 1 : 0
If (not IsDir) and (RegExReplace(Clipboard, ".*\.(.*)", "$1")="lnk")
Islnk:=1
If (IsDir or IsLnk)
{
send {F2}
return
}
i := k := 0
ControlGetFocus, Control, A
if InStr(Control, "Edit")
ControlGetText, FileName, %Control%, A
else
{
WinGet, ControlList, ControlList, A
Loop, parse, ControlList, `n
if InStr(A_LoopField, "Edit")
i++
Send {F2}
While k - i != 1
{
Sleep, 15
k := 0
WinGet, ControlList, ControlList, A
Loop, parse, ControlList, `n
if InStr(A_LoopField, "Edit")
k++
}
Control = Edit%k%
ControlGetText, FileName, %Control%, A
}
FileNameNoExt := RegExReplace(FileName, "(.*)\..*", "$1")
NameLengh := StrLen(FileNameNoExt)
SendMessage, EM_SETSEL := 0xB1, 0, NameLengh, %Control%, A
Send, {CTRL DOWN}{vk56}{CTRL UP} ;v
Send, {Enter}
Return