V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
SKY2030
V2EX  ›  分享创造

一个轻型、多窗口文件资源管理器 TriExplorer V1.1 ( 操作习惯与 Win 原生文件管理器相同、可分组、颜色标记 )

  •  1
     
  •   SKY2030 · 2023-01-28 17:58:09 +08:00 · 3475 次点击
    这是一个创建于 446 天前的主题,其中的信息可能已经有所发展或是发生改变。

    TriExplorer是一个轻型多窗口文件管理器,操作习惯、快捷键、右键菜单、文件属性关联、图标与 Windows 原生的文件资源管理器完全一样,可以非常灵活的调整子窗口大小和位置顺序,还可以记住最近一次关闭资源管理器时的工作目录,无需任何设置,两分钟即可上手,占用系统资源低,简洁高效。 avatar


    __________________________________

    问题与解决方法

    工作中经常在几个不同项目间穿梭,桌面上要打开一大堆相关项目的文件夹,有时候多达十几个,在一堆文件夹里,翻找要找的目标文件夹很琐碎、麻烦,于是试用了几个第三方窗口多开的资源管理器,如 Total command ,Clover ,Q-Dir 但是用了几天觉得不顺手。

    痛点 1:操作习惯,快捷键,右键菜单,文件属性关联和 Windows 原生的文件管理器不一样。
    痛点 2:使用 Clover 打开三五 tab 还好,一旦打开很多 tab ,还是要在众多 tab 里翻找目标文件夹。

    于是决定自己写了一个好用文件管理器,不写不知道,一写吓一跳,要想把文件管理器写得高效、好用并不简单,水不可谓不深,不然也不会有那么多第三方文件管理器要收费。就算自己费劲扒拉写出来一个,很有可能还不如上面提到的那几个第三方文件管理器好用,果断避坑、弃轮

    于是换了个思路解决问题的:以不同颜色为标记,将三个原生文件夹分为一组,不同项目使用对应组别的资源管理器组,如:

    文件夹组_1<红> ---> 项目一
    文件夹组_2<黄> ---> 项目二
    文件夹组_3<蓝> ---> 项目三
    

    __________________________________

    按照上述思路,就不用真的写一个资源管理器,只要写一个窗口把三个原生的 Windows 文件管理器箍在一起就行了。这样的话,快捷键,右键菜单,文件属性关联,操作习惯就都可以完全和原生的文件管理器保持一致了(这不废话么)。思路有了,抄家伙开写,最开始打算用 PyQt ,办公室里一个杠精说,PyQt 太臃肿,项目打包成 exe 后估计上百兆,只要是用 Python 写带 UI 的程序,打包成 exe ,就不可能小于十几兆

    听了杠精的意见,先试着用 PyQt 写了个 hello world 窗口,一打包果然将近 100Mb ,就算手动精简不用的模块还是大几十兆,又换了 PyTk 测试 hello world 窗口,打包成 exe ,还是要十几兆,看来杠精说的没错。后来一想,这个小工具只在 Windows 下用,不跨平台,为什么不直接用系统自带的古老 MFC 框架,这样就可以避免调用任何第三方 UI 库,减小打包体积。

    于是搜了下,Python 可以通过ctypes 直接调用 system32.dll,试了试果然可行,然后用 Python 的 ctypes 写出了这个和原生文件管理器操作习惯完全相同的 TriExplorer ,由于程序只调用了 ctypes 模块,一共六七百行,打包成 exe 只有 3Mb 左右,如果压缩打包的话还以进一步减小文件体积。(我似乎成了杠杠精,稍后上传源码到 github )
    avatar


    __________________________________

    TriExplorer 的操作习惯与原生文件管理器完全相同,两分钟即可上手使用,不需要任何设置。
    核心操作:TriExplorer 控制子窗口的所有操作,只需在标题栏滚动鼠标滚轮。(甚至无需点击鼠标键)

    TriExplorer将标题栏分为左、中、右三个部分,分别在这三个区域滚动鼠标滚轮就能调整子窗口的大小、位置和顺序:

    1.鼠标滚轮在标题栏左侧向下滚动交换左侧和中间的文件管理器的窗口位置

    2.鼠标滚轮在标题栏右侧向下滚动交换右侧和中间的文件管理器的窗口位置

    3.鼠标滚轮在标题栏中部向上、向下滚动调整中间的文件管理器的窗口宽度(向下滚动变窄、隐藏, 向上滚动变宽、显示)
    avatar


    __________________________________

    下面以我的一个摸鱼文件夹目录为例,演示具体使用方法:

    场景一, 需要同时打开三个文件夹 avatar

    场景二,需要对比两个文件夹里的内容 avatar

    场景三,需要只关注某一个主文件夹里的内容 avatar

    不同使用场景之间转换 avatar

    以上只是开启了一个文件夹管理组,TriExplorer 可以同时开启六个不同的文件夹管理组 avatar


    __________________________________

    安装与卸载 avatar 下载并解压缩安装包 N31-TriExplorer_v1.1_release_64bit.zip ,点击安装包中的Setup.bat进行安装。

    安装过程就是将当前安装文件夹中的文件复制到"C:\ProgramData\N31-TriExplorer"。

    安装完毕后,文件夹"C:\ProgramData\N31-TriExplorer"会自动被打开,请手动将六个不同颜色的快捷方式(_project_0_, project_1, ... ... , project_5拷贝到您的桌面,点击其中任何一个快捷方式即可启动 TriExplorer 。(您可以根据自己的需要,更改上面的六个快捷方式的名字)

    下載链( onedrive )https://1drv.ms/u/s!AizNBpbTXP30gQtw8i4xKkaxHkvR?e=Ec64fW

    不知链接有效期有多久,如果下载不了请发信至 n31welt(a.t)protonmail(dot)com ,会将 TriExplorer 发送至您的信箱)

    卸载方法 直接删除 "C:\ProgramData\N31-TriExplorer" 文件夹即可。


    __________________________________

    高级用法:

    命令行:N31-TriExplorer.exe 命令后可以接六个参数 "b c g k m w", 每个参数打开对应颜色的文件管理器组

    保持文件管理器缺省设置 : 把文件名...\config_doNotChangeFolderSettings.txt 更改成 doNotChangeFolderSettings.txt

    帮助文档quick_start.png 和_help_&about.txt 是相关帮助文件。

    第 1 条附言  ·  2023-04-19 07:07:05 +08:00
    有一个功能忘记说了,在标题栏滚动鼠标滚轮,可以收起,放下窗口,向上滚动滚轮收起窗口,向下滚动鼠标滚轮展开窗口
    第 2 条附言  ·  2023-04-19 18:06:12 +08:00
    上一个 append 描述有误,纠正如下:
    有一个功能忘记说了,在标题栏按下鼠标中键(按下鼠标滚轮),可以收起窗口,当窗口为收起状态时,在标题栏再次按下鼠标中键(按下鼠标滚轮) 可以展开窗口
    10 条回复    2024-01-04 20:04:15 +08:00
    keepwalk2020
        1
    keepwalk2020  
       2023-01-29 00:28:12 +08:00
    Python 写的资源管理器。。。
    molezznet
        2
    molezznet  
       2023-01-29 09:08:12 +08:00
    我最近刚从 total commander 转到 douable commander 了
    subframe75361
        3
    subframe75361  
       2023-01-29 10:58:16 +08:00
    有一说一,这个 ui 。。。不如用 files
    KleinP
        4
    KleinP  
       2023-01-29 14:48:25 +08:00
    真是闲的啊。。。
    vitovan
        5
    vitovan  
       2023-01-29 14:51:18 +08:00
    这是不是等于用 Python 写了 Win32 / C++ ?
    reorx
        6
    reorx  
       2023-02-01 12:12:47 +08:00 via iPhone
    OP 的想法和实现都很好,赞执行力,而且这个复古的 UI 我个人也很喜欢
    byasm32
        7
    byasm32  
       2023-02-01 21:19:03 +08:00
    喜欢复古 UI +1
    op 继续加油!
    itsbu1denh
        8
    itsbu1denh  
       2023-02-02 09:47:57 +08:00
    提个建议,左侧侧边栏在多窗口的时候显示多遍是不是有点略显多余
    chauncychan
        9
    chauncychan  
       182 天前
    喜欢这种风格,支持
    keepwalk2020
        10
    keepwalk2020  
       105 天前
    帖子里的下载连接已经失效,这里有新的下载连接
    https://zhuanlan.zhihu.com/p/601340609
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5195 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 07:39 · PVG 15:39 · LAX 00:39 · JFK 03:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.