Создание текстового файла с помощью сочетания клавиш в Проводнике Windows

Я использую решение из Как создать новый текстовый документ (TXT) с помощью горячей клавиши? С несколько лет, с Autohotkey, и это позволяет создать новый текстовый файл в любом месте в проводнике Windows с помощью сочетания клавиш.

есть один недостаток: когда файл уже фокус в списке файлов проводника (представление "подробности"), он не работает, главным образом потому, что, когда файл выбран, контекстное меню не показывает "Создать" > " Текстовый документ".

вопрос: как иметь ярлык, который создает новый текстовый документ, даже если файл выбран в подробном представлении Проводника Windows?

11
задан Basj
30.11.2022 9:05 Количество просмотров материала 2870
Распечатать страницу

2 ответа

меню Файл в Проводнике Windows отображает пункт меню Создать > Текстовый документ в папке независимо от того, выбран файл или папка.

вы можете создать текстовый документ, имитируя нажатие Alt,f,w,t этот скрипт для AutoHotkey (обязательно Ф4):

F4::
  Send {ALT}fwt
Return
1
отвечен davidmneedham 2022-12-01 16:53
#If (WinActive("ahk_class Progman") || WinActive("ahk_class WorkerW") || WinActive("ahk_class CabinetWClass"))   ; desktop or explorer

    F1::
    WinGet, active_id, ID, A
    InputBox, name, Create a New Text Document, Enter a name:,, 300, 120
    If !ErrorLevel
    {
        WinActivate, ahk_id %active_id%
        If WinActive("ahk_class Progman") or WinActive("ahk_class WorkerW") ; desktop
        {       
            FileAppend,, %A_Desktop%\%name%.txt
            Run, %A_Desktop%\%name%.txt
        }
        else
        if WinActive("ahk_class CabinetWClass") ; explorer
        {
            WinGetTitle, ActiveTitle, A
            If InStr(ActiveTitle, "\")  ; If the full path is displayed in the title bar (Folder Options)
                Folderlpath := ActiveTitle
            else
            If InStr(ActiveTitle, ":") ; If the title displayed is something like "DriveName (C:)"
            {
                Folderlpath := SubStr(ActiveTitle, -2)
                Folderlpath := SubStr(Folderlpath, 1, -1)
            }
            else ; If the full path is NOT displayed in the title bar 
            ; https://autohotkey.com/boards/viewtopic.php?p=28751#p28751
            for window in ComObjCreate("Shell.Application").Windows
            {
                try Folderlpath := window.Document.Folder.Self.Path
                SplitPath, Folderlpath, title
                If (title = ActiveTitle)
                    break
            }
            FileAppend,, %Folderlpath%\%name%.txt
            Run, %Folderlpath%\%name%.txt
        }
    }
    return 

#If
1
отвечен user3419297 2022-12-01 19:10

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

autohotkey
keyboard
keyboard-shortcuts
windows-7
windows-explorer
Вверх