Тема: AHK:Открываем Edit Script, двойным нажатием ПКМ
Доброго времени суток. Помогите составить скрипт.Задумка такая, при двойном нажатии правой кнопкой мыши на файл ahk, он открывается в редакторе скрипта (Edit Script)
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Доброго времени суток. Помогите составить скрипт.Задумка такая, при двойном нажатии правой кнопкой мыши на файл ahk, он открывается в редакторе скрипта (Edit Script)
#If WinActive("ahk_exe explorer.exe")
RButton::
If !Double
{
Double := 1
SetTimer, Double, -200
SendInput % "{" A_ThisHotkey "}"
return
}
WinClose ahk_class #32768 ahk_exe explorer.exe
If (path := Explorer_GetSel()) && (RegExMatch(path, "i)\.ahk$"))
Run C:\Program Files (x86)\Notepad++\notepad++.exe %path%
; Run, edit "%path%"
Else
SendInput % "{" A_ThisHotkey "}"
Double:
Double := 0
return
#If
Explorer_GetSel()
{
if !(window := Explorer_GetWindow())
return ""
if (window="desktop")
{
ControlGet, hwWindow, HWND,, SysListView321, ahk_class Progman
if !hwWindow
ControlGet, hwWindow, HWND,, SysListView321, A
ControlGet, files, List, % "Selected Col1",, ahk_id %hwWindow%
base := SubStr(A_Desktop,0,1)=="\" ? SubStr(A_Desktop,1,-1) : A_Desktop
Loop, Parse, files, `n, `r
{
path := base "\" A_LoopField
IfExist %path%
ret .= path "`n"
}
}
else
{
collection := window.document.SelectedItems
for item in collection
ret .= item.path "`n"
}
return Trim(ret,"`n")
}
Explorer_GetWindow()
{
WinGetClass class, % "ahk_id" hwnd := WinExist("A")
if (class ~= "(Cabinet|Explore)WClass")
{
for window in ComObjCreate("Shell.Application").Windows
if (window.hwnd==hwnd)
return window
}
else if (class ~= "Progman|WorkerW")
return "desktop"
}
Немного изменённые функции, взяты здесь - Get paths of selected items in an explorer window
serzh82saratov, не надо так
. Во-первых, контекстное меню мелькает, во-вторых, теряется функциональность правой кнопки — становится невозможным перемещать ею объекты. Должна же быть всё-таки какая-то культура программирования!
Задачу считаю не имеющей смысла. Неужели трудно кликнуть правой кнопкой и выбрать соответствующий пункт из контекстного меню?
Ну я же неговорю что это готовое решение. Я пнул в нужную сторону как попросили, дальше хозяин - барин. Идея с двойным нажатием ПКМ мне самому ненравится, но тут уж дело вкусов.
Спасибо,помогли.
большое спасибо всё работает
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться