# Autohotkey个人即用脚本分享（持续更新ing）

**URL:** <https://meta.appinn.net/t/topic/49879>\
**Category:** 讨论分享\
**Tags:** windows\
**Created:** [2023 年12 月 2 日 01:26 UTC](https://meta.appinn.net/t/topic/49879 "2023-12-02T01:26:32Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![dog](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/dog/32/18667_2.png) [@dog](https://meta.appinn.net/u/dog)\
**Post date:** [2023 年12 月 2 日 01:26 UTC](https://meta.appinn.net/t/topic/49879/1 "2023-12-02T01:26:32Z")

</div>

在 [Claunahk小工具——ahk用户的quicker平替，简单但不简陋](https://meta.appinn.net/t/topic/49794) 中，我介绍了通过claunch来进行快捷操作的可行性。

![3](https://meta.appinn.net/uploads/default/original/3X/4/8/488b2e3d233febe1bfb53ae454e84f709b348bd9.gif)

本贴分享一些个人实用脚本，搭配claunahk食用更佳。

* * *

 

[快速选取并调用OnTopReplica置顶窗口局部](https://meta.appinn.net/t/topic/49879/7#h-1-ontopreplica-2)

[调用spacesniffer，对当前路径进行透析查看](https://meta.appinn.net/t/topic/49879/7#h-1-spacesniffer-2)

[文件移动专家](https://meta.appinn.net/t/topic/49879/7#h-2-3)

[文件移动专家2.0](https://meta.appinn.net/t/topic/49879/21#h-20-1)

---

<div class="post-metadata">

**Author:** ![lilyhcn1](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/l/439d5e/32.png) [@lilyhcn1](https://meta.appinn.net/u/lilyhcn1)\
**Post date:** [2023 年12 月 2 日 02:17 UTC](https://meta.appinn.net/t/topic/49879/2 "2023-12-02T02:17:25Z")

</div>

runany有好多脚本，略做修改，可用到你这。

---

<div class="post-metadata">

**Author:** ![mou](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/m/ce7236/32.png) [@mou](https://meta.appinn.net/u/mou)\
**Post date:** [2023 年12 月 2 日 02:59 UTC](https://meta.appinn.net/t/topic/49879/3 "2023-12-02T02:59:20Z")

</div>

做个记号，很喜欢这个方式

---

<div class="post-metadata">

**Author:** ![dog](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/dog/32/18667_2.png) [@dog](https://meta.appinn.net/u/dog)\
**Post date:** [2023 年12 月 2 日 03:24 UTC](https://meta.appinn.net/t/topic/49879/4 "2023-12-02T03:24:03Z")

</div>

# 本楼为通用脚本

## 1. 快速选取并调用OnTopReplica置顶窗口局部

点击按钮后，左键画个区域，即可将该窗口这一区域置顶显示

![1](https://meta-edge.appinn.com/uploads/default/original/3X/d/e/de56c92fb20ac9c96cc64c205feaa4498c1c88fe.gif)

# 24.9.12位置修复版

> **代码**
>
> 注意，需要用到v2版uia库，下载地址：[GitHub - Descolada/UIA-v2: UIAutomation library for AHK v2, based on thqby's UIA library](https://github.com/Descolada/UIA-v2)
> 
> ```auto
> #Requires AutoHotkey v2
> #include <UIA>
> #Warn All, Off
> #SingleInstance force
> 
> ; Select Screen Region with Mouse
> LButton:: ;Mouse to select with Red
> {
> global titileH:=0
> Area := SelectScreenRegion("LButton", "Red", 30)
> WinGetPosEx(Area.id, &winX, &winY, &WinW, &winH, &Offset_X, &Offset_Y)
> ;msgbox " " Offset_X " " Offset_Y
> ;WinGetClientPos &winX, &winY, &WinW, &winH, "ahk_id " Area.id
> 
> h:=0
> try
> {
> El := UIA.ElementFromHandle("ahk_id " Area.id)
> loc:=El.ElementFromPath("c").BoundingRectangle
> x:=loc.l, y:=loc.t, w:=(loc.r-loc.l), h:=(loc.b-loc.t)
> ;msgbox(h)
> }
> tooltip h
> Run '"G:\Program Files (x86)\OnTopReplica\OnTopReplica\OnTopReplica.exe" --windowId=' Area.id ' --size=' Area.W ',' Area.H ' --position=' Area.X-2 ',' Area.Y-2 ' --opacity=200 --chromeOff --region=' Area.X-winX-1 ',' Area.Y-winY-h-2 ',' Area.W+2 ',' Area.H+2
> exitapp
> }
> 
> SelectScreenRegion(Key, Color := "Lime", Transparent:= 80)
> {
> CoordMode("Mouse", "screen")
> MouseGetPos(&sX, &sY, &winid)
> ssrGui := Gui("+AlwaysOnTop -caption +Border +ToolWindow +LastFound -DPIScale")
> WinSetTransparent(Transparent)
> ssrGui.BackColor := Color
> Loop
> {
> Sleep 10
> MouseGetPos(&eX, &eY)
> W := Abs(sX - eX), H := Abs(sY - eY)
> X := Min(sX, eX), Y := Min(sY, eY)
> ssrGui.Show("x" X " y" Y " w" W " h" H)
> } Until !GetKeyState(Key, "p")
> ssrGui.Destroy()
> Return { X: X, Y: Y, W: W, H: H, X2: X + W, Y2: Y + H ,id: winid}
> }
> 
> /*OnTopReplica支持的所有参数
> --windowId=HWND Window handle (HWND) to be cloned.
> --windowTitle=TITLE Partial TITLE of the window to be cloned.
> --windowClass=CLASS CLASS of the window to be cloned.
> -v, --visible If set, only clones windows that are visible.
> --size=WIDTH,HEIGHT Target WIDTH,HEIGHT of the cloned thumbnail, or
> --width=VALUE Target WIDTH of cloned thumbnail, or
> --height=VALUE Target HEIGHT of cloned thumbnail.
> --position=X,Y Target X,Y of the OnTopReplica window.
> --screenPosition=TR|TL|C|BR|BL
> Resolution independent window position on
> current screen, with locking. Values:
> TR|TL|C|BR|BL.
> -r, --region=X,Y,W,H Region X,Y,W,H of the cloned window.
> -p, --padding=LEFT,TOP,RIGHT,BOTTOM
> Region padding LEFT,TOP,RIGHT,BOTTOM of the
> clone.
> -o, --opacity=0-255 Opacity of the window: 0-255.
> --clickForwarding Enables click forwarding.
> --clickThrough Enables click through.
> --chromeOff Disables the window's chrome (border).
> --fs, --fullscreen Starts up in fullscreen mode.
> -h, --help, -? Show command line help.
> */
> 
> ;------------------------------
> ;
> ; Function: WinGetPosEx
> ;
> ; Description:
> ;
> ; Gets the position, size, and offset of a window. See the *Remarks* section
> ; for more information.
> ;
> ; https://www.autohotkey.com/boards/viewtopic.php?f=6&t=3392
> ;
> ; Parameters:
> ;
> ; hWindow - Handle to the window.
> ;
> ; X, Y, Width, Height - Output variables. [Optional] If defined, these
> ; variables contain the coordinates of the window relative to the
> ; upper-left corner of the screen (X and Y), and the Width and Height of
> ; the window.
> ;
> ; Offset_X, Offset_Y - Output variables. [Optional] Offset, in pixels, of the
> ; actual position of the window versus the position of the window as
> ; reported by GetWindowRect. If moving the window to specific
> ; coordinates, add these offset values to the appropriate coordinate
> ; (X and/or Y) to reflect the true size of the window.
> ;
> ; Returns:
> ;
> ; If successful, a RECTPlus buffer object is returned.
> ; The first 16 bytes contains a RECT structure that contains the dimensions of the
> ; bounding rectangle of the specified window.
> ; The dimensions are given in screen coordinates that are relative to the upper-left
> ; corner of the screen.
> ; The next 8 bytes contain the X and Y offsets (4-byte integer for X and
> ; 4-byte integer for Y).
> ;
> ; Also if successful (and if defined), the output variables (X, Y, Width,
> ; Height, Offset_X, and Offset_Y) are updated. See the *Parameters* section
> ; for more more information.
> ;
> ; If not successful, FALSE is returned.
> ;
> ; Requirement:
> ;
> ; Windows 2000+
> ;
> ; Remarks, Observations, and Changes:
> ;
> ; * Starting with Windows Vista, Microsoft includes the Desktop Window Manager
> ; (DWM) along with Aero-based themes that use DWM. Aero themes provide new
> ; features like a translucent glass design with subtle window animations.
> ; Unfortunately, the DWM doesn't always conform to the OS rules for size and
> ; positioning of windows. If using an Aero theme, many of the windows are
> ; actually larger than reported by Windows when using standard commands (Ex:
> ; WinGetPos, GetWindowRect, etc.) and because of that, are not positioned
> ; correctly when using standard commands (Ex: gui Show, WinMove, etc.). This
> ; function was created to 1) identify the true position and size of all
> ; windows regardless of the window attributes, desktop theme, or version of
> ; Windows and to 2) identify the appropriate offset that is needed to position
> ; the window if the window is a different size than reported.
> ;
> ; * The true size, position, and offset of a window cannot be determined until
> ; the window has been rendered. See the example script for an example of how
> ; to use this function to position a new window.
> ;
> ; * 20150906: The "dwmapi\DwmGetWindowAttribute" function can return odd errors
> ; if DWM is not enabled. One error I've discovered is a return code of
> ; 0x80070006 with a last error code of 6, i.e. ERROR_INVALID_HANDLE or "The
> ; handle is invalid." To keep the function operational during this types of
> ; conditions, the function has been modified to assume that all unexpected
> ; return codes mean that DWM is not available and continue to process without
> ; it. When DWM is a possibility (i.e. Vista+), a developer-friendly messsage
> ; will be dumped to the debugger when these errors occur.
> ;
> ; Credit:
> ;
> ; Idea and some code from *KaFu* (AutoIt forum)
> ;
> ;-------------------------------------------------------------------------------
> WinGetPosEx(hWindow, &X := "", &Y := "", &Width := "", &Height := "", &Offset_X := "", &Offset_Y := "") {
> Static S_OK := 0x0,
> DWMWA_EXTENDED_FRAME_BOUNDS := 9
> ;-- Get the window's dimensions
> ; Note: Only the first 16 bytes of the RECTPlus structure are used by the
> ; DwmGetWindowAttribute and GetWindowRect functions.
> RECTPlus := Buffer(24,0)
> Try {
> DWMRC := DllCall("dwmapi\DwmGetWindowAttribute",
> "Ptr", hWindow, ;-- hwnd
> "UInt", DWMWA_EXTENDED_FRAME_BOUNDS, ;-- dwAttribute
> "Ptr", RECTPlus, ;-- pvAttribute
> "UInt", 16, ;-- cbAttribute
> "UInt")
> }
> Catch {
> Return False
> }
> ;-- Populate the output variables
> X := NumGet(RECTPlus, 0, "Int") ; left
> Y := NumGet(RECTPlus, 4, "Int") ; top
> R := NumGet(RECTPlus, 8, "Int") ; right
> B := NumGet(RECTPlus, 12, "Int") ; bottom
> Width := R - X ; right - left
> Height := B - Y ; bottom - top
> OffSet_X := 0
> OffSet_Y := 0
> ;-- Collect dimensions via GetWindowRect
> RECT := Buffer(16, 0)
> DllCall("GetWindowRect", "Ptr", hWindow,"Ptr", RECT)
> ;-- Right minus Left
> GWR_Width := NumGet(RECT, 8, "Int") - NumGet(RECT, 0, "Int")
> ;-- Bottom minus Top
> GWR_Height:= NumGet(RECT, 12, "Int") - NumGet(RECT, 4, "Int")
> ;-- Calculate offsets and update output variables
> NumPut("Int", Offset_X := (Width - GWR_Width) // 2, RECTPlus, 16)
> NumPut("Int", Offset_Y := (Height - GWR_Height) // 2, RECTPlus, 20)
> Return RECTPlus
> }
> 
> ```

---

<div class="post-metadata">

**Author:** ![crows](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/crows/32/50672_2.png) [@crows](https://meta.appinn.net/u/crows)\
**Post date:** [2023 年12 月 2 日 04:50 UTC](https://meta.appinn.net/t/topic/49879/5 "2023-12-02T04:50:47Z")

</div>

OnTopReplica 是个 DWM 缩略图工具，用 AutoHotkey 实现也用不了百行

---

<div class="post-metadata">

**Author:** ![dog](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/dog/32/18667_2.png) [@dog](https://meta.appinn.net/u/dog)\
**Post date:** [2023 年12 月 2 日 04:54 UTC](https://meta.appinn.net/t/topic/49879/6 "2023-12-02T04:54:14Z")

</div>

ontopclip可以进一步设置点击转移 点击穿透 保存选区等 比较方便

---

<div class="post-metadata">

**Author:** ![dog](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/dog/32/18667_2.png) [@dog](https://meta.appinn.net/u/dog)\
**Post date:** [2023 年12 月 2 日 10:06 UTC](https://meta.appinn.net/t/topic/49879/7 "2023-12-02T10:06:06Z")

</div>

# 本楼为文件管理器页面脚本

## 1. 调用spacesniffer，对当前路径进行透析查看

适合不知道这个文件夹下面都装了些啥时侯使用。

![1](https://meta-edge.appinn.com/uploads/default/original/3X/6/5/65c366827032e463fd8639f0c64c64ad8ac6f8da.gif)

> **代码**
>
> ```auto
> activedir:=Explorer_GetPath(WinExist("A"))
> Run %ComSpec% /c ""C:\miniapp\SpaceSniffer.exe" scan " %activedir%,,Hide
> 
> ;以下是库
> Explorer_GetPath(hwnd="")
> {
> if !(window := Explorer_GetWindow(hwnd))
> return ErrorLevel := "ERROR"
> if (window="desktop")
> return A_Desktop
> path := window.LocationURL
> path := RegExReplace(path, "ftp://.*@","ftp://")
> path := RegExReplace(path, "%20"," ") ;替换空格，否则显示%20
> StringReplace, path, path, file:///
> StringReplace, path, path, /, \, All
> ; thanks to polyethene
> Loop
> If RegExMatch(path, "i)(?<=%)[da-f]{1,2}", hex)
> StringReplace, path, path, `%%hex%, % Chr("0x" . hex), All
> Else Break
> return path
> }
>  
> Explorer_GetAll(hwnd="")
> {
> return Explorer_Get(hwnd)
> }
>  
> Explorer_GetSelected(hwnd="")
> {
> return Explorer_Get(hwnd,true)
> }
>  
> Explorer_GetWindow(hwnd="")
> {
> ; thanks to jethrow for some pointers here
> WinGet, process, processName, % "ahk_id" hwnd := hwnd? hwnd:WinExist("A")
> WinGetClass class, ahk_id %hwnd%
>  
> if (process!="explorer.exe")
> return
> 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" ; desktop found
> }
>  
> Explorer_Get(hwnd="",selection=false)
> {
> if !(window := Explorer_GetWindow(hwnd))
> return ErrorLevel := "ERROR"
> if (window="desktop")
> {
> ControlGet, hwWindow, HWND,, SysListView321, ahk_class Progman
> if !hwWindow ; #D mode
> ControlGet, hwWindow, HWND,, SysListView321, A
> ControlGet, files, List, % ( selection ? "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% ; ignore special icons like Computer (at least for now)
> ret .= path "`n"
> }
> }
> else
> {
> if selection
> collection := window.document.SelectedItems
> else
> collection := window.document.Folder.Items
> for item in collection
> ret .= item.path "`n"
> }
> return Trim(ret,"`n")
> }
> 
> ```

## 2. 文件移动专家

更便捷（最便捷？）地移动文件。

![1](https://meta-edge.appinn.com/uploads/default/original/3X/a/c/ac39620ddef2bd1eaa979039a9762a525d03684a.gif)

 ![image](https://meta-edge.appinn.com/uploads/default/original/3X/2/d/2d96795580c466a7b774d1242250256bb680e64a.png)

> **代码**
>
> ```auto
> #Requires AutoHotkey v2.0
> #SingleInstance Force
> global allcopyed
> 
> ;获取当前文件的两重父文件夹
> {
> activedir:=Explorer_GetPath()
> SplitPath activedir , , &activedirpapa
> SplitPath activedirpapa , , &activediryaya
> }
> 
> ;获取选中的文件、文件夹列表
> {
> A_Clipboard:=""
> sendinput "^c"
> allcopyed:=""
> ClipWait(0.2)
> ClipSaved := ClipboardAll()
> A_Clipboard := ClipSaved 
> ClipSaved := ""
> allcopyed:=A_Clipboard
> A_Clipboard:=""
> ;msgbox(allcopyed activedir activedirpapa activediryaya)
> }
> 
> {
> global WinID := WinExist("A")
> ContextMenu := Menu()
> 
> {
> ContextMenu.Add(activediryaya, MenuHandler)	;如要添加自定义路径，可复制本行和下一行，只修改其中路径即可
> ContextMenu.SetIcon(activediryaya, "shell32.dll", 147)
> ContextMenu.Add(activedirpapa, MenuHandler)	;如要添加自定义路径，可复制本行和下一行，只修改其中路径即可
> ContextMenu.SetIcon(activedirpapa, "shell32.dll", 147)
> ContextMenu.Add
> }
> 
> ;---------------资源管理器-------------------------
> For openedwindows in ComObject("shell.Application").windows
> {
> This := openedwindows.Document.Folder.Self.Path
> ContextMenu.Add(This, MenuHandler)
> ContextMenu.SetIcon(This, "shell32.dll", 5)
> }
> openedwindows := ""	;清空变量
> 
> ;---------------Total Commander-------------------
> if WinExist("ahk_class TTOTAL_CMD")
> {
> TCPath := WinGetProcessPath("ahk_class TTOTAL_CMD")
> cm_CopySrcPathToClip := 2029	;Total Commander 内部代码
> cm_CopyTrgPathToClip := 2030
> ClipSaved := ClipboardAll()
> A_Clipboard := ""
> 
> SendMessage(1075, cm_CopySrcPathToClip, 0, , "ahk_class TTOTAL_CMD")
> ContextMenu.Add
> ContextMenu.Add(A_Clipboard, MenuHandler)
> ContextMenu.SetIcon(A_Clipboard, TCPath, 1)
> 
> SendMessage(1075, cm_CopyTrgPathToClip, 0, , "ahk_class TTOTAL_CMD")
> ContextMenu.Add(A_Clipboard, MenuHandler)
> ContextMenu.SetIcon(A_Clipboard, TCPath, 1)
> 
> A_Clipboard := ClipSaved
> ClipSaved := ""
> }
> ;--------------常用文件夹-------
> ContextMenu.Add
> ContextMenu.Add("常用路径", MenuHandler)
> ContextMenu.Disable("常用路径")
> ContextMenu.Add("C:\miniapp", MenuHandler)	;如要添加自定义路径，可复制本行和下一行，只修改其中路径即可
> ContextMenu.SetIcon("C:\miniapp", "shell32.dll", 44)
> 	
> ContextMenu.Add("G:\代码库\自写软件\clauch增强\ahks", MenuHandler)	
> ContextMenu.SetIcon("G:\代码库\自写软件\clauch增强\ahks", "shell32.dll", 44)
> 	
> ;ContextMenu.Add("%UserProfile%\", MenuHandler)	;用户文件夹
> ;ContextMenu.SetIcon("%UserProfile%\", "shell32.dll", 44)
> ;------------------------------
> ContextMenu.Show
> ContextMenu.Delete
> } 
> 
> #HotIf	;关闭上下文相关性
> 
> MenuHandler(ItemName, ItemPos, MyMenu)
> {
> global allcopyed
> WinActivate "ahk_id" WinID
> 
> errorfind:=0
> 
> if allcopyed
> {
> Loop parse, allcopyed, "`n", "`r"
> {
> try
> {
> ;msgbox A_LoopField
> if ! DirExist(A_LoopField)
> FileMove A_LoopField, ItemName , 0
> else
> {
> SplitPath A_LoopField , &OutFileName
> DirMove A_LoopField, ItemName "\" OutFileName, 0
> }
> }
> catch
> errorfind++
> }
> if errorfind
> msgbox errorfind "个文件未成功移动，大概是因为有重复文件"
> }
> else
> {
> try
> {
> if ControlGetEnabled("ToolbarWindow323", WinID) = 1 or ControlGetEnabled("ToolWindow324", WinID) = 1
> {
> Send "!d"
> Sleep 100	;等待获取焦点，如果设为 50 ,在 chrome 中另存为会出现焦点错误
> addressbar := ControlGetFocus("A")	; 按下 alt+D 之后的焦点为地址栏
> ControlSetText(ItemName, addressbar, "A")
> ControlSend("{Enter}", addressbar, "A")
> ControlFocus("Edit1", "A")	;焦点移回到 Edit1
> }
> }
> catch TargetError
> {
> FolderPath := ItemName
> OldText := ControlGetText("Edit1", "A")	;读取当前 Edit1 控件中的文件名
> ControlFocus "Edit1", "A"
> 
> Loop 5
> {
> ControlSetText FolderPath, "Edit1", "ahk_id" WinID
> Sleep(50)
> CurControlText := ControlGetText("Edit1", "ahk_id" WinID)
> if (CurControlText = FolderPath)
> break
> }
> 
> Sleep 50
> ControlSend "{Enter}", "Edit1", "A"
> Sleep 50
> 
> If !OldText	;插入原始文件名
> return
> 
> Loop 5
> {
> ControlSetText OldText, "Edit1", "A"
> Sleep 50
> CurControlText := ControlGetText("Edit1", "A")
> if (CurControlText = OldText)
> break
> }
> }
> }
> }
> 
> Explorer_GetPath() {
> winClass := WinGetClass(hWnd := WinExist("A"))
> if !(winClass ~= "(Cabinet|Explore)WClass")
> return
> for window in ComObject("Shell.Application").Windows
> if (hWnd = window.hWnd)
> return window.Document.Folder.Self.Path
> }
> 
> ```

---

<div class="post-metadata">

**Author:** ![dog](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/dog/32/18667_2.png) [@dog](https://meta.appinn.net/u/dog)\
**Post date:** [2023 年12 月 2 日 10:10 UTC](https://meta.appinn.net/t/topic/49879/8 "2023-12-02T10:10:51Z")

</div>

先更新一些调用现成软件的功能（把自己的windows开始菜单磁贴清理一波）

---

<div class="post-metadata">

**Author:** ![zhongx](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/z/ba9def/32.png) [@zhongx](https://meta.appinn.net/u/zhongx)\
**Post date:** [2023 年12 月 4 日 05:35 UTC](https://meta.appinn.net/t/topic/49879/9 "2023-12-04T05:35:47Z")

</div>

:doge: V1 V2 夹着用。 🫵

---

<div class="post-metadata">

**Author:** ![valuex](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/valuex/32/16_2.png) [@valuex](https://meta.appinn.net/u/valuex)\
**Post date:** [2023 年12 月 6 日 13:23 UTC](https://meta.appinn.net/t/topic/49879/10 "2023-12-06T13:23:34Z")

</div>

这个文件移动专家思路很好！就是右键菜单不太适合键盘党，能不能转成增量搜索（incremental search）的列表呢。

---

<div class="post-metadata">

**Author:** ![dog](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/dog/32/18667_2.png) [@dog](https://meta.appinn.net/u/dog)\
**Post date:** [2023 年12 月 6 日 14:06 UTC](https://meta.appinn.net/t/topic/49879/11 "2023-12-06T14:06:47Z")

</div>

想象不出来会有人用键盘进行文件移动。。。  
不管怎样，选择要移动的文件时，都是要用鼠标的吧。。。

---

<div class="post-metadata">

**Author:** ![zhongx](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/z/ba9def/32.png) [@zhongx](https://meta.appinn.net/u/zhongx)\
**Post date:** [2023 年12 月 6 日 14:42 UTC](https://meta.appinn.net/t/topic/49879/12 "2023-12-06T14:42:50Z")

</div>

既然支持 Total Commander 已打开列表的展示，但却不支持在 Total Commander 中调用，这就有点尴尬了。 :rofl:  
我不认为会有人开着 Total Commander，但却用默认的资源管理器去管理文件。 :smiling_face_with_tear:

---

<div class="post-metadata">

**Author:** ![dog](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/dog/32/18667_2.png) [@dog](https://meta.appinn.net/u/dog)\
**Post date:** [2023 年12 月 6 日 15:11 UTC](https://meta.appinn.net/t/topic/49879/13 "2023-12-06T15:11:04Z")

</div>

> [@\[AHKv2\] FolderMenuList 类似 Listary 的 Ctrl+G 跳转功能](https://meta.appinn.net/t/topic/43419):
>
> 功能： 在“打开”/“保存”对话框弹出时，按下 Ctrl + g，会在鼠标处弹出一个菜单，包含当前已打开文件夹的路径，点击菜单项，会在“打开”/“保存”对话框中快速定位到对应路径。支持 Total Commander 和自定义常用文件夹。 修改自 @xml123 在[这个帖子里发布的脚本](https://meta.appinn.net/t/topic/3743/34)，并借鉴整合了 [Easy Access to Currently Opened Folders](https://gist.github.com/akaleeroy/f23bd4dd2ddae63ece2582ede842b028) 中的对话框处理方法。 感谢上述大佬。 整体用 AHK v2 写的。 本来就是脚本，就不费事发布什么 release 了。之前用 AHKv2 重写了 7zdt，想发布个编译版本方便使用，结果被杀毒软件给杀了 crazy_face [screenshots (1)]

微改的这个，其实我不用total commandar

---

<div class="post-metadata">

**Author:** ![zhongx](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/z/ba9def/32.png) [@zhongx](https://meta.appinn.net/u/zhongx)\
**Post date:** [2023 年12 月 6 日 15:21 UTC](https://meta.appinn.net/t/topic/49879/14 "2023-12-06T15:21:41Z")

</div>

去掉上层目录的代码部分，就可以用了，但在 Total Commander 中，食之无味，弃之可惜。  
使用默认的资源管理器还是很有用的。

---

<div class="post-metadata">

**Author:** ![kasusa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/kasusa/32/72838_2.png) [@kasusa](https://meta.appinn.net/u/kasusa)\
**Post date:** [2023 年12 月 6 日 15:49 UTC](https://meta.appinn.net/t/topic/49879/15 "2023-12-06T15:49:05Z")

</div>

[ahk tools](http://124.223.57.166/ahk/) 我也有一个可以分享 自用的

 ![image](https://meta.appinn.net/uploads/default/original/3X/b/7/b7875e274fa24bdc07ef78d8fa9d53813b0de3c0.png)

---

<div class="post-metadata">

**Author:** ![Niceb](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/niceb/32/4721_2.png) [@Niceb](https://meta.appinn.net/u/Niceb)\
**Post date:** [2023 年12 月 7 日 02:21 UTC](https://meta.appinn.net/t/topic/49879/16 "2023-12-07T02:21:48Z")

</div>

这个帖子要是可以像小青蛙那样弄楼中楼评论就好了，， 现在插楼会打断楼主分享

---

<div class="post-metadata">

**Author:** ![valuex](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/valuex/32/16_2.png) [@valuex](https://meta.appinn.net/u/valuex)\
**Post date:** [2023 年12 月 7 日 03:19 UTC](https://meta.appinn.net/t/topic/49879/17 "2023-12-07T03:19:56Z")

</div>

个人经常遇到的一个场景：在下载目录下总会临时存一些文件，定期整理时，就需要把下载目录下的文件移动到不同目录下。  
选中文件，按下快捷键，弹出菜单，选中某个目录，直接剪切过去。  
现在的问题是，弹出菜单里的目录,可能有10来个，不能快速通过按首字母定位。

---

<div class="post-metadata">

**Author:** ![dog](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/dog/32/18667_2.png) [@dog](https://meta.appinn.net/u/dog)\
**Post date:** [2023 年12 月 7 日 03:24 UTC](https://meta.appinn.net/t/topic/49879/18 "2023-12-07T03:24:10Z")

</div>

我写的曹操快切了解一下：

 ![image](https://meta.appinn.net/uploads/default/original/3X/c/8/c8b0bda8a7575fae9937a9d81594cc3b486ba868.png)

给菜单前面加上1 2 3 4 5 a s d f等等就好了。

---

<div class="post-metadata">

**Author:** ![Sullevy](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/sullevy/32/52546_2.png) [@Sullevy](https://meta.appinn.net/u/Sullevy)\
**Post date:** [2023 年12 月 7 日 08:25 UTC](https://meta.appinn.net/t/topic/49879/19 "2023-12-07T08:25:37Z")

</div>

还挺支持的，AHK 一直很方便~

---

<div class="post-metadata">

**Author:** ![zhongx](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/z/ba9def/32.png) [@zhongx](https://meta.appinn.net/u/zhongx)\
**Post date:** [2023 年12 月 7 日 23:19 UTC](https://meta.appinn.net/t/topic/49879/20 "2023-12-07T23:19:56Z")

</div>

大家好像都忽略了 CLaunch 自带的这个功能。

 ![PixPin_2023-12-08_07-18-00](https://meta.appinn.net/uploads/default/original/3X/c/a/caab79c66747a0bb39235e740044c4a29310e7a9.jpeg)

[下一页](https://meta.appinn.net/t/topic/49879.md?page=2)
