资源管理器操作 公开

FaniX 更新于 2025-02-12 23:36 | 6 | (0) | 191
分类
点赞
更多信息
分享人 FaniX
分享时间 2022-11-04 23:22
最后更新 2025-02-12 23:36
修订版本 7
子程序大小 64.8 KB
Quicker版本 1.43.57.0

介绍

跳转资源管理器路径/设置资源管理器选中文件/获取资源管理器窗口信息支持win11多标签页,允许指定资源管理器窗口,不需要获取焦点

将资源管理器窗口跳转到

将指定的资源管理器窗口/标签跳转到某一路径

  • 可以根据窗口标题或者窗口句柄选择要操作的窗口
  • 窗口标题可以是文件夹名称或者完整路径
  • 窗口句柄是资源管理器窗口的句柄
  • 如果同时指定,只有同时满足两个要求的窗口才会被操作
  • 如果允许打开新窗口,在没有找到可操作的窗口(见下)的情况下,会打开新的资源管理器窗口
  • 如果没有找到符合条件的窗口,会尝试打开新窗口
  • 如果同时有多个符合条件的窗口,那么
    • 如果其中存在激活的标签页,会操作该标签页
    • 如果不存在激活的标签页,若允许操作非激活的标签页,会操作其中一个非激活的标签页,否则会尝试打开新窗口

在资源管理器中选中

将指定的资源管理器窗口/标签中选择文件或文件夹

  • 可以根据窗口标题或者窗口句柄选择要操作的窗口
  • 窗口标题可以是文件夹名称或者完整路径
  • 窗口句柄是资源管理器窗口的句柄
  • 如果同时指定,只有同时满足两个要求的窗口才会被操作
  • 文件列表可以是文件(夹)的完整路径或文件(夹)名
  • 如果允许打开新窗口,在没有找到可操作的窗口(见下)的情况下,若操作类型为设置添加全选且文件列表中的文件存在,会打开新的资源管理器窗口并选中文件
  • 如果没有找到符合条件的窗口,会尝试打开新窗口
  • 如果同时有多个符合条件的窗口,那么
    • 如果其中存在激活的标签页,会操作该标签页
    • 如果不存在激活的标签页,若允许操作非激活的标签页,会操作其中一个非激活的标签页,否则会尝试打开新窗口

获取所有资源管理器窗口信息

不包含非激活标签页结果格式

{
  [窗口句柄]:{
    "folderName": [标签页名称],
    "folderPath": [标签页路径],
    "itemCount": [路径下项的个数],
    "focusedItem": [焦点项],
    "selectedItems": [选中的项]
  }
}
示例
{
    [窗口句柄]: {
        "folderName": "Windows (C:)",  // 标签页名称
        "folderPath": "C:\\",          // 标签页路径
        "itemCount": 6,                // 路径下项的个数
        "focusedItem": "C:\\Users",    // 焦点项
        "selectedItems": [             // 选中的项
            "C:\\Users",
            "C:\\Program Files",
            "C:\\Windows"
        ]
    },
    [窗口句柄]: {
        "folderName": "此电脑",
        "folderPath": "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}",
        "itemCount": 3,
        "focusedItem": "",
        "selectedItems": [
            "C:\\"
        ]
    },
    ...
}
包含非激活标签页结果格式:
{
  [窗口句柄]:{
    [标签页句柄]:{
      "folderName": [标签页名称],
      "folderPath": [标签页路径],
      "itemCount": [路径下项的个数],
      "focusedItem": [焦点项],
      "selectedItems": [选中的项]
    }
  }
}
示例
{
    [窗口句柄]: {
        [标签页句柄]: {
            "folderName": "Windows (C:)",  // 标签页名称
            "folderPath": "C:\\",          // 标签页路径
            "itemCount": 6,                // 路径下项的个数
            "focusedItem": "C:\\Users",    // 焦点项
            "selectedItems": [             // 选中的项
                "C:\\Users",
                "C:\\Program Files",
                "C:\\Windows"
            ]
        },
        [标签页句柄]: {
            "folderName": "Folder",
            "folderPath": "\\\\remote\\Folder",
            "itemCount": 10,
            "focusedItem": "\\\\remote\\Folder\\新建文本文档.txt",
            "selectedItems": []
        }
    },
    [窗口句柄]: {
        [标签页句柄]: {
            "folderName": "此电脑",
            "folderPath": "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}",
            "itemCount": 3,
            "focusedItem": "",
            "selectedItems": [
                "C:\\"
            ]
        },
        ...
    },
    ...
}

子程序的参数

输入
操作 Text
窗口标题/路径 资源管理器窗口标题或路径 Text
窗口句柄 窗口句柄,两者均留空则为顶层资源管理器窗口 Integer
类型 Text
跳转到(路径) 要跳转到的路径 Text
文件列表 要选中的文件名或文件路径列表 会忽略重复或资源管理器窗口中不存在的文件 最后一项将设为焦点 List
允许打开新窗口 未找到窗口时打开新窗口;配合窗口句柄为-1可以强制打开新窗口 Boolean
包含非激活标签页 【win11】查找窗口时包含非激活标签页;激活的标签页总是优先 Boolean
设为前台窗口 操作后将窗口设为前台窗口 Boolean
输出
窗口句柄 被操作的资源管理器窗口句柄 Integer
所有窗口信息 包括当前路径、路径下文件数、文件焦点、选中的文件 Dict

最近更新

修订版本 更新时间 更新说明
7 2025-02-12 23:36 优化逻辑,获取窗口信息增加窗口名称
6 2024-03-08 20:43 优化逻辑,支持网络文件夹
5 2023-11-22 00:03 释放COM对象;修复空文件夹下获取窗口信息时报错;

最近讨论