1

Тема: AHK:Открываем Edit Script, двойным нажатием ПКМ

Доброго времени суток. Помогите составить скрипт.Задумка такая, при двойном нажатии  правой кнопкой мыши на файл ahk, он открывается в редакторе скрипта (Edit Script)

OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

2 (изменено: serzh82saratov, 2013-07-22 16:29:59)

Re: 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

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

3

Re: AHK:Открываем Edit Script, двойным нажатием ПКМ

serzh82saratov, не надо так . Во-первых, контекстное меню мелькает, во-вторых, теряется функциональность правой кнопки — становится невозможным перемещать ею объекты. Должна же быть всё-таки какая-то культура программирования!

Задачу считаю не имеющей смысла. Неужели трудно кликнуть правой кнопкой и выбрать соответствующий пункт из контекстного меню?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

4

Re: AHK:Открываем Edit Script, двойным нажатием ПКМ

Ну я же неговорю что это готовое решение. Я пнул в нужную сторону как попросили, дальше хозяин - барин. Идея с двойным нажатием ПКМ мне самому ненравится, но тут уж дело вкусов.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

5

Re: AHK:Открываем Edit Script, двойным нажатием ПКМ

Спасибо,помогли.

6

Re: AHK:Открываем Edit Script, двойным нажатием ПКМ

большое спасибо всё работает

OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).