Skip to content

About

像浏览器一样用 Windows 资源管理器:标签页 / 历史 / 书签栏。跨进程嵌入真正的 explorer 窗口,不注入、不装 shell 扩展、不改系统文件。

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

110 Commits

Folders and files

Repository files navigation

TabbedExplorer —— 给Win10资源管理器加标签页(浏览器式)

v1.13(VERSION = 1.13.1)· 作者 huxc573 · 开源地址 github.com/huxc573/TabbedExplorer · MIT 协议 · 变更见 CHANGELOG.md

一句话:像浏览器一样用Win10资源管理器 —— 标签页、历史记录、恢复关闭的标签、书签栏、可配置设置, 而且标签里那套文件列表 / 右键菜单 / 拖放 / 缩略图都是Windows原版的,不是仿制界面。

关键词(方便搜到):Windows10文件资源管理器多标签页 / 多标签文件管理器 / 资源管理器标签化 / 浏览器式资源管理器 / 接管Win+E / 每个虚拟桌面一套标签 / 绿色便携免安装 / 单文件exe。

它解决什么

Win10自带的资源管理器没有标签页,开三个文件夹就是三个窗口,任务栏挤成一排。 Windows11的「标签页」功能在Win10上开不出来(ViVeTool的feature门槛是21536,Win10只到19045)。

TabbedExplorer的做法不是重新画一个文件列表,而是: 把一个真正的资源管理器窗口「搬」进我们窗口里当一个标签(跨进程 SetParent,原窗口降级为子窗口)。 所以文件列表、右键菜单、拖放、缩略图、地址栏、功能区全都是Windows自己那套, 我们只在上面套了一条自绘的标签条、中间(可关)夹一条书签栏。

TabbedExplorer 主窗口

标签条那条空白处兼任标题栏:按住可以拖窗口(贴边吸附也管用),双击空白是新标签。 最右边依次是历史 / 恢复关闭 / 书签栏 / 设置(齿轮),齿轮单独用一条竖线隔开; 再往右就是窗口自己的最小化 / 最大化 / 关闭。

两种布局:横排标签条 / 垂直侧边栏

上面那张是横排 —— 一条标签条顶在窗口最上面。按 Ctrl+Shift+, 换成垂直侧边栏: 顶上那条整条收掉,工具、加号、标签、书签段、窗口按钮全搬到窗口左侧一列竖着排。 竖着排能塞下更多标签,长文件夹名也不会把标签挤成一条缝。

竖排默认是折叠的,整条只有 30 逻辑像素宽(跟横排标签条一样高、跟书签段的标准高也是同一个数):

垂直侧边栏 · 折叠态

  • 折叠态画三样:顶上「+」、底下三颗窗口按钮(关闭 / 最大化 / 最小化 —— 这条窄缝横排摆不下, 竖着叠,从下往上依次是关闭 / 最大化 / 最小化),中间是只剩图标的标签行(窄到放不下名字, 只画图标);当前那个标签在窗格最左边有一条竖线标着。工具行和书签段这时候不占位、也不显示。
  • 鼠标移进窗格就临时摊开成完整样式,移开又收回去(Edge 那个「折叠窗格」); 设置里也能关掉折叠,让它一直摊着(vtabscollapse)。

摊开之后从上到下依次是 ——

垂直侧边栏 · 展开态

  • 工具行:+(新标签)、历史、恢复关闭的标签、齿轮(设置),最右端一枚图钉 = 折叠窗格开关。 竖排这行里没有书签栏那枚星 —— 书签段自己带标题行,点标题就摊开 / 收起。
  • 标签行:图标 + 文件夹名 + 关闭 ×,跟横排是同一份列表、同一套右键菜单。
  • 书签段:以「★ 书签」为标题行(点标题摊开 / 收起),书签装不下时右端自带一根纵向滚动条 (也能用滚轮滚)。点文件夹 = 原地展开 / 收起(前面带 ▸ / ▾,嵌套一层缩进一格), 跟书签管理器里的树一个手感 —— 以前只能弹飞到旁边的子菜单,展开到哪一层就滚到哪。 这一段的上下边界可以拖 —— 把鼠标移到标签区与书签段之间那条线上 (光标变上下箭头、线泛蓝)按住上下拖,想占多高就占多高(拖过的高度记在设置项 favbandheight 里,下次照旧;0 = 自动,按书签条数算、最多占窗格高的三分之一)。
  • 窗口按钮:关闭 / 放大 / 缩小。横排在最右;竖排永远是左边那一列竖着叠三颗 (从下往上 关闭 / 最大化 / 最小化),折叠态和展开态位置一模一样 —— 跟顶上的「+」一个待遇, 展开只是中间多出东西,这一列不动。 (底下那块按三颗的高度留,所以鼠标进出时标签区的下边界也不会跳。)

摊开时它盖在内容上,所以背景默认半透明(设置项 vpanealpha,0~100,默认 80)—— 只把底色按不透明度压上去,图标和文字保持不透明,不然糊成一片。 ⚠ 顶部工具行和底部窗口按钮那两块例外:它们不跟着半透明走,一律实心底色 —— 按钮透下去跟底下的文件列表混在一起就找不着了。 按 Ctrl+Shift+B(书签栏开关)时窗格会临时摊开约 1.6 秒再收回:书签段住在窗格里面, 侧栏收着的时候按这个热键画面是纹丝不动的,摊开一下你才知道按到了。

横排和竖排是同一份标签列表(换布局不重新加载),随你怎么来回切。

主要特性

  • 两种布局:横排标签条(默认)/ 垂直侧边栏(Ctrl+Shift+,,折叠态只占一条 30 像素窄带) —— 详细见上面那节。
  • 浏览器式标签条:+ 紧跟最后一个标签右边;标签上显示文件夹名, 鼠标停上去才显示「文件夹名 + 完整路径」(两者一样时只显示一个,不重复); 可鼠标拖拽排序;中键 / 标签上的×关闭; 右键菜单分五组:①标签(置顶 / 复制标签页 / 移到新窗口)、②收藏与外面开 (添加到书签栏 / 用原生资源管理器打开)、③带走这个位置(复制文件夹名 / 复制完整路径)、 ④关闭(关闭标签页 / 其它 / 左侧 / 右侧 / 合并同路径标签页)、⑤全局(恢复关闭的标签页 / 更多选项)。 「复制标签页」= 在本标签右边开一份一模一样的(复制出来的东西就贴在本体旁边)。 Shift 从锚点连选一段、Ctrl 单个加/减;选中多个之后右键会多出 「关闭选中的 N 个标签页」,Ctrl+W 也是批量关 (多选中的标签与激活标签是完全同一个样式:底色、文字,以及贴边那条蓝色指示条)。 标签多到放不下时,标签区底部会出现一条位置指示条(滚到哪一段、还剩多少一眼可见)。
  • 接管Win+E,并且捕获所有新打开的文件夹窗口 —— 从开始菜单、桌面双击、甚至第三方下载器 (Rayburst 这类)里点「打开文件夹」也会收进标签里(不想这样可以在设置里关掉,只保留Win+E)。 这类窗口是桌面 shell 进程自己建的,程序不去抢它的窗口(抢了会弄坏 Win+E): 读地址栏拿到真实路径 → 像点 × 一样关掉它 → 用自己的资源管理器把同一个文件夹开成标签。 接管抢在窗口刚建出来那一刻(SetWindowRgn 空区域,趁它还没露脸就不画任何东西), 所以它不会再闪一下;那扇窗也绝不留在 shell 进程里 (在 shell 里留一扇隐形窗,Win+E / 开始菜单那条「文件资源管理器」就会按下去毫无反应)。
  • 按虚拟桌面分开:每张虚拟桌面一个窗口、各记一套标签。在「工作」桌面按Win+E,看到的是「工作」那套, 不会把你从当前桌面拽走。
  • 多窗口(Ctrl+N / 托盘右键「新建窗口」/ 标签右键「移到新窗口」):体验跟浏览器一样 —— 把标签拖到另一个窗口的标签条上就并进去(拖到那条缝里就插到那儿,拖到内容区就追加到末尾), 拖到窗口之外(桌面、或别的程序窗口上)就在鼠标位置另开一扇窗口把标签搬过去。 搬的是同一个标签本身:不重开 explorer,目录、滚动位置、历史都原样保留。 关掉一扇窗口 = 把它里面的标签一起关(都能从「恢复关闭的标签页」一条条捞回来); 关到只剩最后一扇时仍然收进托盘,Win+E 照旧接得住。 ⚠ 同一张桌面的多个窗口,标签合并记进这一张桌面的那一份记忆(格式不变、标签一个不丢), 所以重启后它们会并回一扇窗口。
  • 按桌面记忆标签:关掉程序也记住每张桌面开着哪些标签,下次打开原样还原 (记的是你最后停在哪儿,读地址栏,不是当初传进去的路径)。
  • 历史记录(Ctrl+H):列出去过的文件夹,挑一个直接开成标签。
  • 恢复关闭的标签页(Ctrl+Shift+T):点一下恢复最近关的那个,再点一下恢复上上个,依次往回。
  • 书签栏(Ctrl+Shift+B):程序自己记(data\favorites.json),不跟着系统收藏夹变 (第一次跑会从系统的「链接」目录 %USERPROFILE%\Links 播种一次,之后只认自己的)。 栏最左边那枚书签图标点开书签管理器(带搜索、重命名、无限嵌套、拖拽整理、多选); 文件夹 / 文件可以直接拖进栏里,已有书签也能拖动重排 —— 都能精确落到目标位置 (落在文件夹行上 = 放进那个文件夹;落在某项的上 / 下半 = 插到它前 / 后;落在最后一行的下面 = 那一层末尾); 栏上右键能「在新标签页打开 / 用默认程序打开 / 复制完整路径 / 从书签移除 / 合并重复书签 / 刷新书签栏 / 隐藏书签栏」。 书签默认允许重复(同一路径可存多条,设置项 favdup 可关)。 书签里自己的文件夹有专属图标(蓝文件夹 + 金徽),不会跟磁盘上的真文件夹搞混。 点文件夹:竖排那条是原地展开 / 收起(前面带 ▸ / ▾ 三角,嵌套一层缩进一格,装不下靠滚动条); 横排那条只有 30 像素高摊不下,点一下弹飞到旁边的子菜单。
  • 两个管理器:书签管理器(树 + 搜索 + 多选 + 拖拽整理)和历史记录管理器 (按天分组、多选、右键一个日期就能整组删)。书签栏左端那枚图标开前者,Ctrl+H 开后者, 托盘图标右键里两个都能直达。
  • 新建标签页几乎瞬时:后台预先备着一个已经加载好的「此电脑」窗口,按下 + / Ctrl+T 时直接用它。
  • 预加载 + 自动休眠(都在设置里,默认开):程序起来后先在后台把当前这张桌面的标签热起来, 第一次按 Win+E 不用等;切走的标签停够久(默认 3 秒)就把它的内存收一收,切回来按需读回。
  • 空格键预览:在标签里选中文件按空格,调 QuickLook 弹预览(需已装 QuickLook;设置里能关)。预览开着时按方向键会跟着列表的选中项换内容,Esc / Enter 关掉预览 —— 原生资源管理器里这几键本就是 QuickLook 管的,它认不出我们的宿主,所以由我们自己接住转发。
  • 独立的设置窗口:点齿轮(或标签条空白处右键→设置)开一个窗口, 里面写程序名 / 版本 / 作者 / 开源地址(可点开)/ 简介 + 所有设置项;托盘图标右键那份菜单保持原样。
  • 开机自启(设置项):开机后只常驻托盘、接住Win+E,不弹窗口。
  • 深色/浅色跟随,窗口激活/未激活两套配色(跟原生资源管理器一个逻辑),DPI自适应; 提示气泡是自己画的(跟着我们的配色走,不是系统那套)。
  • 绿色便携:设置、标签记忆、历史、书签、日志全在程序目录下的 data\, 拷走整个文件夹就能带走;程序目录写不动时自动退回 %APPDATA%\TabbedExplorer。

编译与运行

  1. build.bat —— 用系统自带的.NET Framework编译器(csc.exe + GAC引用),不装任何东西、零NuGet。
  2. run.bat —— 启动(常驻托盘,不自动弹窗口)。
  3. 按 Win+E 试:当前桌面开一个窗口(里面是「此电脑」)。再按一次只把窗口唤到最前面、标签不动 —— 想再开一页按 Ctrl+T 或点标签条上的「+」(想恢复「一按 Win+E 就顺手开一个此电脑」的老习惯,把设置里的 winepc 打开)。
  4. 换一个虚拟桌面按Win+E:那边是独立的一组标签。

维护者用得到的都在 tools\:build_task.bat(先出 .new.exe 再换,exe 被占用只报错不硬来)、rebuild.bat(退出→编译→再起)、make-icon.py(生成 assets\app.ico);uninstall_* 三个是清理用的。

开机自启(要接管Win+E就需要常驻)

设置窗口里的「开机自启」勾一下就行(写的是当前用户的启动项,不需要管理员权限, 启动方式带 --tray:只驻留托盘、不弹窗口)。 命令行等价的还有 tools\install_autostart.bat / tools\uninstall_autostart.bat。

快捷键

下面这些(除 Win+E 和 Ctrl+1..9)都能改:设置窗口 →「快捷键」页 → 点一下那个方框、直接按你要的组合键(至少要按住 Ctrl 或 Alt)。改完立刻生效,存在 settings.json 的 hotkey_* 里;跟别的命令撞了会当场告诉你、不改。

键(默认) 作用 能改
Win+E 在当前桌面的窗口里新开一个「此电脑」标签(没有窗口就建窗口) 否(这是接管的目标)
Ctrl+T 新标签(打开「此电脑」) 是
Ctrl+N 新建窗口(当前窗口的标签不受影响) 是
Ctrl+W 关标签(最后一个标签关掉=收进托盘,不退程序) 是
Ctrl+Tab / Ctrl+Shift+Tab 切换标签 是
Ctrl+H 历史记录 是
Ctrl+Shift+T 恢复刚关掉的标签页 是
Ctrl+Shift+B 显示 / 隐藏书签栏 是
Ctrl+Shift+, 横排标签条 ⇄ 垂直侧边栏 是
Ctrl+1..9 跳到第N个标签 否(一绑就是一串键)
Ctrl+L 地址栏 否(explorer 自己的)
Alt+← / → 后退 / 前进 否(explorer 自己的)
Alt+↑ 上一级 否(explorer 自己的)
F5 刷新 否(explorer 自己的)

这些自有快捷键只在我们自己的窗口是前台时生效(焦点在嵌进来的 explorer 里也算)—— 在别的程序里按 Ctrl+W 照旧是别的程序的事,不会被我们抢走。

拖文件夹到标签栏或内容区 = 新标签打开。双击标签条空白处 = 新标签(单击空白拖动 = 移动窗口)。 标签条空白处右键 = 新建标签页 / 历史记录 / 恢复关闭的标签页 / 显示书签栏 / 切换垂直侧边栏 / 更多选项。 标签上右键 = 置顶 · 复制标签页 · 移到新窗口 | 添加到书签栏 · 用原生资源管理器打开 | 复制文件夹名 · 复制完整路径 | 关闭标签页 / 其它 / 左侧 / 右侧 / 合并同路径标签页 | 恢复关闭的标签页 · 更多选项。 拖动标签:拖到别的窗口的标签条上就插到那条缝里、拖到它的内容区就追加到末尾、 拖到窗口之外(桌面 / 别的程序上)就在鼠标位置另开一扇窗口;拖回自己这条 = 条内排序。 拖动全程有一扇跟手的影窗跟着你 —— 上面写着被拖的是哪个标签、以及松手会发生什么 (并入这个窗口 / 移到这个位置 / 在这里开一扇新窗口 / 取消),落点那条缝上也会画一根插入线。 鼠标停在我们自己画的每一个图标上都会显示它是干什么的(含当前绑定的快捷键)。

滚轮怎么用

鼠标在哪 滚轮做什么
标签上 切上一个 / 下一个标签
垂直侧边栏整条窗格上(含工具行、窗口按钮那两块) 切上一个 / 下一个标签
标签右边那排按钮上(历史 / 恢复 / 书签栏 / 齿轮 / 最小化那三个) 横向滑动标签条(标签放不下时才有效)
内容区(文件列表里) 一概不碰 —— 原样交给 explorer,文件列表该怎么滚就怎么滚

标签多到装不下时,滚标签条有两个入口:把滚轮放在右边那排按钮上横滚,或者拖标签条自己 底部那条滚动条(鼠标进标签条才显形,能拖、能点轨道)。 内容区我们一概不接管:嵌进来的就是原生的资源管理器,它的文件列表该怎么滚就怎么滚 —— 包括 Shift+滚轮(那是 shell 自己实现的原生横向滚动,在详细列表视图里能左右移列)。

标签记忆

每张虚拟桌面各自记一套标签,存在程序目录下的 data\desktops.json (JSON:desktops 数组,每张桌面一段,tabs 是标签,active 是当时选中的那个; 读得懂老的 desktops.txt,第一次跑自动迁移并把老文件改名成 .migrated)。 标签有变动就写盘(改动攒一小会儿),退出前再存一次; 下次在哪张桌面按Win+E,就还原哪一套。不想留着就把设置里的「保留标签页」关掉。 设置里那个「立即记住当前标签」是手动存一次 —— 平时本来就自动记,它只管「怕没来得及存」的时候。

记的是你最后停在哪儿(读地址栏那个字符串),不是当初打开时给的路径。 库之类没真实路径的项(地址栏给的是「视频」这种显示名)会被跳过,其余照常还原。

设置

独立的设置窗口:标签条最右边那枚齿轮,或者标签条空白处右键→「更多选项」, 或者托盘图标右键 → 设置 → 更多选项…(托盘右键里另有「书签管理器」「历史记录管理器」两条直达)。窗口分四页: 「常规」(下面这些设置项;顶部写程序名 / 版本 / 简介)、「快捷键」(程序自有热键改键 + 全部恢复默认)、 「通知管理」(右下角气泡的全部明细:总开关,然后四个大类各成一节 —— 节标题左边的小三角管展开 / 收起(默认收起,一屏只看得到四行大类), 右边写着「已开 N/M」,标题上那个勾是三态的、点一下整节开或关,展开后逐条多选; 再往下是停留秒数,页尾一个「试弹一条通知」看效果)和 「更新日志」(切到这一页才去读 CHANGELOG.md)。 托盘图标右键里的「设置」还是菜单形式(内容完全一样 —— 两边都由 SettingsMenu 里 那一份规格生成,加设置项不会漏一边);菜单末尾的「更多选项…(打开设置窗口)」就是开这个窗口。

窗口里的设置项改完先攒着,点底部的「保存」才写进 settings.json —— 改动立刻生效(颜色、标签宽度、捕获方式这些当面就能看到),但没点「保存」就不落盘。 有未保存的改动时窗口标题上会写「• 有未保存的改动」,这时关窗口才问一句 「保存 / 不保存 / 取消」(× 与 Esc 都算取消,窗口留着不关);没有改动就直接关、不打扰。 选「不保存」会把改动退回去,已经立刻生效的那些也一起退。

存在程序目录下的 data\settings.json(JSON格式;读得懂老的 settings.txt, 第一次启动会自动迁移成JSON并把老文件改名成 .migrated 留着)。

JSON本体不支持注释,所以每一项的说明写在以 _ 开头的键里 —— 那既是合法JSON,打开文件也看得懂:

项 值 说明
capture perdesktop(默认) / migrate 捕获方式:每张虚拟桌面各一个窗口,还是全进程一个窗口+Win+E搬过来(1.0.0的老做法)
keeptabs true(默认) / false 是否保留标签页;关掉就是每次打开都只有一个「此电脑」
lazytabs true / false(默认) 还原标签时是否只把当时选中那个真起出来、其它点开才加载(省开程序那一下的等待)
parallel true(默认) / false 是否一次同时起多个 explorer(开标签快得多;每个标签靠地址栏内容证明那个窗口是它的)。false = 一个一个来(慢但最简单)
autopreload true(默认) / false 预加载:程序起来后就算还没打开窗口,也先在后台把「当前这张桌面」记着的标签起出来 —— 第一次按 Win+E 时窗口一出来就是热的。改了只影响下次启动
autosleep true(默认) / false 非激活标签自动休眠:切走的标签停留够久(默认 3 秒,见 sleepdelay)就把它那个 explorer 进程的驻留内存收一收,切回来按需读回。false = 一个都不收(常驻内存更高,但切标签永远最快)
sleepdelay 3(默认),1 ~ 300 非激活标签停留多少秒之后才收内存。调大 = 来回对比两个目录更顺(收完再切回去要按需读回,有一点加载感);调小 = 更省内存
qlpreview true(默认) / false 空格键预览:在标签里按空格,调 QuickLook 预览选中的文件(需已安装并常驻 QuickLook)。QuickLook 自己只认原生资源管理器那几种类名,认不出我们的自绘宿主,所以这一条由 TabbedExplorer 自己接收、自己转发给它。false = 空格照旧落在文件列表上。Ctrl/Alt/Shift+空格 一律不管。预览开着时方向键 / Esc / Enter 也一并由我们转发给它(换内容 / 关预览)—— 原生资源管理器里这几键本来也是 QuickLook 管的
notify true(默认) / false 右下角通知:操作反馈那种气泡(「已复制完整路径」「留一个」「TabbedExplorer 还在后台」…)弹不弹。false = 一个都不弹(功能一件不少,只是不再弹那一下)
notifyover 例 "copy-done=0,fav-added=1" 逐条通知开关的覆盖表:键 = 条目 id、值 1/0,逗号隔开。只写用户改过的那些,没写到的 = 跟随默认。条目一览见设置窗口「通知管理」页
notifysec 4(默认),1 ~ 30 一条气泡停留多少秒后自己收。调大 = 看得更清楚,调小 = 少挡视线

通知一共 22 条,按四个大类分节(出错与失败 / 启动与后台状态 / 操作结果 / 轻提示), 设置窗口「通知管理」页里可以逐条勾;每节默认收起(点标题左边的小三角摊开), 节标题那个勾是三态的 —— 点一下整节开或关。 默认值看 debug:Debug 模式全开;平时只默认开「出错与失败」和「启动与后台状态」里那些。 总闸 notify 关掉 = 一条都不弹(功能一件不少,只是不再冒那一下)。 | theme | system(默认) / light / dark | 颜色模式 | | tabwidth | 112(默认,64240) | 标签页宽度(逻辑像素)。设置窗口里可直接输入数值,不必挑预设 | | tabautowiden | true(默认) / false | 自适应①:名称过长时是否自动加宽。基准宽度 = tabwidth,名字放不下才往上加,最多 400 逻辑像素 | | tabautofit | true(默认) / false | 自适应②:挤不下时是否自动缩窄(不够就均分);两个都关 = 固定宽度 + 横向滚动看其余的 | | newtabbeside | true / false(默认) | 新标签开在当前标签旁边(插到它右边)还是最末尾(默认)。只管新开的;「恢复关闭的标签页」永远回它原来的位置 | | winepc | true / false(默认) | Win+E 时顺手开一个「此电脑」标签。默认 false = 只把窗口唤到最前面、一个标签都不动(想开新页直接 Ctrl+T);true = 老行为,唤窗的同时开一个「此电脑」(已开着就切过去)。⚠ 「第一次 Win+E、窗口还空着且没有记忆」那种情况照样会给一个「此电脑」(兜底,跟这一项无关) | | favbar | true / false(默认) | 书签栏是否显示 | | favdup | true(默认) / false | 书签是否允许重复:true = 同一路径可以存多条;false = 重复路径的书签会被忽略(=老行为) | | captureall | true(默认) / false | 是否连「从开始菜单/桌面双击打开的文件夹」也收成标签 | | captureshell | true(默认) / false | 是否连桌面 shell 进程建的文件夹窗口也接管(从开始菜单 / 桌面双击 / 第三方程序里点「打开文件夹」都是这种)。false = 这类窗口一个都不碰 | | winsize | true(默认) / false | 是否记住窗口位置和大小(每张虚拟桌面各记一份,跟标签记忆放在同一个文件里) | | vtabs | true / false(默认) | 垂直侧边栏:true = 标签竖排在左边窗格(Ctrl+Shift+,),false = 标签横排在顶上 | | vtabscollapse | true(默认) / false | 垂直窗格的「折叠窗格」:true = 鼠标不在窗格上时收缩成纯图标条、移进去临时摊开;false = 一直摊着 | | vpanealpha | 80(默认,0100) | 竖排摊开盖在内容上那一下的不透明度(%,100 = 完全不透明) | | favbandheight | 0(默认 = 自动,0~900) | 竖排里书签段的高度(逻辑像素)。在标签区与书签段之间那根线上拖一下就会写在这里;0 = 自动(按书签条数算,最多占窗格高的三分之一) | | debug | true / false(默认) | Debug模式:是否把每一步的详细过程写进 data\log.txt。关着时一个字节都不写(连目录都不建)。设置窗口里可以随时开关,旁边还有一个「清理日志」按钮 | | hotkey_* | 例 "hotkey_closetab": "Ctrl+Shift+W" | 程序自有快捷键(设置窗口「快捷键」页改的就是它)。只写改过的那几条,没写的用默认;留空删除 = 回默认 |

「开机自启」不在这份JSON里 —— 它的唯一真相是注册表里的启动项 (HKCU\Software\Microsoft\Windows\CurrentVersion\Run 的 TabbedExplorer 值)。 这样不会出现「JSON说开着、其实被任务管理器禁用了」这种对不上的情况。

Debug模式默认关着(普通用不需要一个一直变大的文件);要查问题时在设置窗口里打开, 它下面那行会实时显示 data\log.txt 现在多大,旁边就是「清理日志」。 日志超过 1 MB 时下次启动会自动轮转成 log.txt.prev.txt(只留一份)。

改完立刻生效(切捕获方式还会把记忆搬个家,只在目标那一边还空着时才搬)。

⚠ 颜色模式的限制:嵌进来的explorer是独立进程,它按系统主题画自己那一片, 我们改不了别人进程的开关。所以强制浅/深只改得动我们自己画的外壳 (标签条/书签栏/设置窗口/菜单/四周边框),文件列表仍跟系统 —— 设置窗口底部那条说明就是这一条。 来回切颜色模式不会再「花屏」:切到哪一档都把嵌进来那棵窗口树重新上一遍主题,再强制重画一次 (包括预热好的备用标签)—— 不会只剩一块深或一半深一半浅。

数据与便携

settings.json(设置)、desktops.json(标签记忆)、history.json(历史)、 favorites.json(书签栏)、log.txt(日志) 都在程序目录的 data\ 下 —— 整个文件夹拷到别的机器/U盘就能直接用,不往系统里写东西 (除了可选的「开机自启」那一个注册表值)。 程序目录写不动时(比如放进 Program Files)自动退回 %APPDATA%\TabbedExplorer。 从旧版本升上来的第一次启动,会把老位置的数据抄一份过来(只补缺,不覆盖)。

来源与致谢

  • 灵感来自 QTTabBar 这类「给资源管理器加标签页」的老工具。 它是进程内的 shell 扩展(注入 explorer.exe),能力很强,但和 Win10 的系统更新一直打架。 本项目走的是另一条路:跨进程 SetParent 把真正的资源管理器窗口搬进自己窗口, 不注入、不装 shell 扩展、不改系统文件 —— 外壳自己画,里面那套文件列表还是 Windows 原版的。
  • 本仓库不包含 QTTabBar 的任何代码,也不需要装它;下面那个卸载脚本只是给「以前装过」的人清理用。

卸载QTTabBar

两套并存会抢Win+E,必须二选一。tools\uninstall_qttabbar.bat 会卸掉机器上已装的QTTabBar(卸完需要重启资源管理器)。

它不做什么

  • 不重画文件列表(借Windows原版的,所以不会有「像但不一样」的地方,也不会有兼容问题)。
  • 不修改 explorer.exe、不装shell扩展、不写注册表(除了可选的启动项)。
  • 不往系统目录写东西;不联网。

一个已知取舍:自绘标题栏删掉了

嵌进来的资源管理器窗口是子窗口,子窗口没有非客户区 —— 而它那条快速访问工具栏 (属性/新建文件夹/撤销…)恰好画在标题栏那一条里,搬进来之后就空了,加回 WS_CAPTION 也拿不回来。 所以从1.5.0起:标签条直接顶到窗口最上面,窗口的最小化/最大化/关闭并到标签条最右边。 原来仿的那排图标删了 —— 那些命令本来就都在嵌进来的资源管理器自己的功能区里(文件 / 主页 / 共享 / 查看)。

资源管理器左上角那排功能(快速访问工具栏)抓不回来 —— 原因就是上面这条(子窗口没有非客户区)。 这件事只写在这份文档里,程序里不再写提示文字。

About

像浏览器一样用 Windows 资源管理器:标签页 / 历史 / 书签栏。跨进程嵌入真正的 explorer 窗口,不注入、不装 shell 扩展、不改系统文件。

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages