web-dev-qa-db-ja.com

Windowsエクスプローラーでキーボードショートカットを使用してテキストファイルを作成する

私は ホットキーで新しいテキストドキュメント(TXT)ファイルを作成する方法は? 数年前からAutohotkeyでソリューションを使用しており、Windowsのどこにでも新しいテキストファイルを作成できますキーボードショートカットのあるエクスプローラー。

1つの欠点があります:ファイルエクスプローラーファイルリストに既にフォーカスがある(「詳細」ビュー)の場合、主にファイルが選択されたときにコンテキストメニューが機能しないため、機能しません。 t "新規>テキストドキュメント"を表示します。

質問:新しいテキストドキュメントを作成するショートカットを作成するにはどうすればよいですか?ファイルが現在選択されている場合でも Windowsエクスプローラーの詳細ビューで?

1
Basj

私はついに使用しています:

  • エクスプローラーウィンドウでの@davidmneedhamのソリューション: Alt、 f、 w、 t

  • Right click そして w、 t その他の場合(デスクトップなど)

コードは次のとおりです。

#IfWinActive ahk_class CabinetWClass
F4:: Send {ALT}fwt
#IfWinActive

F4:: 
Click,,Right
Send wt
Return
0
Basj
#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
2
user3419297

Windowsエクスプローラの[ファイル]メニューには、ファイルまたはフォルダが選択されているかどうかに関係なく、フォルダ内に[新規]> [テキストドキュメント]メニューオプションが表示されます。

を押すことをシミュレートすることにより、テキストドキュメントを作成できます Alt、 f、 w、 t このAutoHotkeyスクリプト(F4にバインド)を使用すると:

F4::
  Send {ALT}fwt
Return
1
davidmneedham

使用していた元のスクリプトの補足として、次の操作を実行できます。

F4::
Macro1:
!h, sn           ; <-- this is what you want, ALT is denoted by !
Click, Right, 1
Sleep, 10
SendRaw, wt
Return

(ALT+H, SN = select none)

つまり、ALT+H次にSの後にNが続きます。これは事実上「選択なし」を実行し、次にそのファイルを作成するコンテキストメニューメソッドをエミュレートします。

これはファイルエクスプローラーとデスクトップで機能しますが、これはWindows 10でしたが、Windows7でも機能すると思います。

0
userabuser