定位打开文件的文件夹

; f12::
    FindTarget()
return

FindTarget(WinTitle := "A")
{
    if Target := GetTargetPath(WinTitle)
        Run, Explorer /select`,%Target%
    else
        MsgBox, 定位失败
}

GetTargetPath(WinTitle := "A")
{
if WinActive("ahk_class XLMAIN")
        Return, ComObjActive("excel.application").ActiveWorkbook.FullName
    else if WinActive("ahk_class OpusApp")
        Return, ComObjActive("Word.Application").ActiveDocument.FullName
else
    {
        WinGet pid, PID, %WinTitle%
        wmi := ComObjGet("winmgmts:")

        queryEnum := wmi.ExecQuery(""
            . "Select * from Win32_Process where ProcessId=" . pid)
            ._NewEnum()

        if !queryEnum[process]
            Return, False

        Tooltip, % cmd := process.CommandLine
        StringReplace, cmd, cmd, " ", |, All
        StringReplace, cmd, cmd, "%A_Space%, |, All
        StringReplace, cmd, cmd, %A_Space%", |, All
        StringReplace, cmd, cmd, ",, All
        StringSplit, cmd_, cmd, |
        Target := FileExist(cmd_2) ? cmd_2 : cmd_1

        if !InStr(Target, "")
            WinGet, Target, ProcessPath, %WinTitle%

        Return, Target
    }
}

给TA捐赠
共{{data.count}}人
人已捐赠
其他

定义16个热键

2020-3-9 2:10:44

其他

定时器

2020-3-9 2:12:44

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索