开源MyChromeLauncher自定义引导——打造便携版GoogleChrome

发布于 2015-10-17  327 次阅读


为何开这个小坑,我之前已经说了,就不再提了。冲着界面华丽,设置繁多的人,就不用继续看下去了,直接关闭标签吧,走好不送。

介绍

用的是控制台应用程序,所以根本就没有界面,为了提高效能的同时提高方便性,几行代码搞定,非常简洁。x32/x64已经集成在一起,总共才5KB(不包含图标,自用的图标因为没有版权所以没有打包进程序里面),启动3秒后自动完全退出,不占用系统资源,没有任何选项可设置,连设置的工作也省了。设置真的很麻烦,我真是烦了设置了。

软件名称 MyChromeLauncher
功能/属性 效率工具/开源(MIT开源协议)
开发/网站 ChiaSwww.mrorz.com
开发环境 SharpDevelop/Microsoft Visual Studio
.NET Microsoft .NET Framework 4.0(C# 5.0)
系统支持 Windows
CPU AnyCPU(x32/x64)
开源代码 GitHub:MyChromeLauncher

原理

利用Google Chrome自有参数启动,实现官方便携化。设置默认浏览器需要修改注册表。网上的其他相似功能的工具,无论是所谓的绿化补丁.bat,还是所谓的便携引导,我个人认为原理都是一样的,只是“皮”不一样罢了。没啥高深东西,源代码、原理全部交代出来,也就没什么大不了的了。

使用方法

下载Google Chrome离线安装包,用压缩软件WinRAR或者7z打开,提取Chrome-bin文件夹,里面就是官方的免安装版了。

将MyChromeLauncher.exe放到chrome.exe同一个目录,双击MyChromeLauncher.exe运行即可。

自定义方法

原用户数据文件夹UserData默认是在系统盘的,我将其设定到chrome.exe的同一个目录了,缓存文件夹也是。它们分别是MyChromeData文件夹和MyChromeCache文件夹。

稍微会点C#的,应该都知道怎么自定义了,还可以用自己喜欢的图标重新编译一下。我这里再提供一些我觉得应该会用上的启动参数,以供自定义使用。(其他没列出来的我个人不建议使用)

常用命令行启动参数列表

参数 说明
--disk-cache-dir 将缓存设置在给定的路径。
--disk-cache-size 设置缓存大小上限,以字节为单位。
--incognito 让浏览器直接以隐身模式启动。
--keep-alive-for-test 最后一个标签关闭后仍保持浏览器进程。(某种意义上可以提高热启动速度,不过你最好得有充足的内存)
--kiosk 启用kiosk模式。(一种类似于全屏的浏览模式)
--lang 使用指定的语言。(--lang=zh-CN 设置语言为简体中文)
--no-displaying-insecure-content 默认情况下,https 页面允许从 http 链接引用图片/字体/框架。添加这一参数会阻止这些内容。
--no-referrers 不发送 Http-Referer 头。
--proxy-pac-url 使用给定 URL 的 pac 代理脚本。(也可以使用本地文件,如 --proxy-pac-url="file:c:proxy.pac")
--proxy-server 使用给定的代理服务器,这个参数只对 http 和 https有效。(例如 --proxy-server=127.0.0.1:8087 )
--show-component-extension-options 让自带的拓展组件显示在 chrome://settings/extensions 里。(目前有一个 "Bookmark Manager 0.1")
--single-process 以单进程模式运行 Chromium。(启动时浏览器会给出不安全警告)
--start-maximized 启动时最大化。
--user-agent 使用给定的 User-Agent 字符串。
--user-data-dir 自定义用户数据目录
--process-per-tab 每个标签使用单独进程
--process-per-site 每个站点使用单独进程
--in-process-plugins 插件不启用单独进程
--enable-udd-profiles 启用账户切换菜单
--media-cache-size 自定义多媒体缓存最大值(单位byte)
--bookmark-menu 在工具栏增加一个书签按钮

设置为默认浏览器

设置为默认浏览器,就要使外部调用生效,需要修改注册表。我是完全用不上的,如果你有需要,可以添加几行代码修改相应的注册表。要是你不想编程码代码,也可以手动修改注册表。

相应的注册表:

分别找到[HKEY_CLASSES_ROOT下的ChromeHTML,ftp,http,https:

  • [HKEY_CLASSES_ROOTChromeHTMLshellopencommand]
  • [HKEY_CLASSES_ROOTftpshellopencommand]
  • [HKEY_CLASSES_ROOThttpshellopencommand]
  • [HKEY_CLASSES_ROOThttpsshellopencommand]

在shellopencommand的右边数值上右键修改"X:...Chromechrome.exe" -- "%1""的值,

在 -- "%1"的前面chrome.exe"的后面添加 --user-data-dir="X:文件夹" --disk-cache-dir="Y:文件夹"(注意空格)

例如:

--user-data-dir="F:同步盘chromemychrm" --disk-cache-dir="R:CCtemp"

其他的注册表同理。

全部弄好后,不管点击Chrome快捷方式,还是QQ、迅雷外部调用,都会成功定义文件夹。

写在最后

我做的当然第一目的是为了自己使用了,同一个浏览器,用不同的用户数据文件夹,干不同的事,你可能不懂,我也不解释了。所以别问我为什么没有什么功能之类的问题,我已经说了,我本来就是做给自己用的,我需要的功能就是这么多。当然,如果有什么新的想法,好的用法,我也会继续更新完善这个开源项目的。确实需要这个project相关援助的可以留言(建议),也可以给我发E-mail(备用),我会尽量免费提供相关帮助。

参考/引用

Chrome启动参数