存档

文章标签 ‘自定义’

在控制面板中添加图标

2015年4月17日 没有评论

如果你的机器上安装了Java,那么会在控制面板上出现一个图标,点击图标后会弹出对话框来进行相关的设置。除了Java外,还有显卡、声卡等都是一样一样的。

对于有的应用程序,除了自身的主逻辑外,有时候还需要在控制面板添加入口,方便用户设置。例如一个windows系统服务,如果单独创建一个快捷方式的话,会被众多其它程序淹没在程序列表中。

我们在实现这个功能的时候,有去网上搜索一番,发现几乎全部都是用VC6或者C++ Builder来实现,一来是由于这些开发环境过于久远,在目前最新的win10系统中可能无法得到验证。另外的原因就在于目前还没有驾驭C++,所以自然想着有没有什么好的替代方案。C++的实现方案是使用cpl文件来达到目的,我们有机会单独展开说。

这里我们使用微软新推荐的方式,注册表,方便简单。

首先我们准备一个exe程序,举例叫做 Profile.exe 吧,然后利用工具生成一个GUID,比如叫做{49E28756-FD3A-4977-8758-AAF2BB10997C}好了。

接下来,我们在注册表HKEY_LCOAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace路径下新建一个子键项,名称为刚才我们生成的GUID,给这个项的默认值(Default)赋值,例如Profile。

第三步,在注册表HKEY_CLASSES_ROOT\CLSID下新建一个项,名称为刚生成的GUID,设置其默认值(Default)为Profile,这里建议和上一步设置的文字保持一致。添加字符串键LocalizedString、InfoTip、System.ApplicationName、System.ControlPanel.Category、System.Software.TaskFileUrl,并为它们设置值。LocalizedString是在控制面板里显示的字符,可以使用程序里的资源,例如 @%ProgrameFiles%\Profile.exe,-9 。InfoTip是指在控制面板上鼠标划过对应项时出现的浮动提示内容。System.ApplicationName是程序的调用名称,比如说该值为 Laodaoxia.Profile,那么就可以通过“control.exe /name Laodaoxia.Profile”命令来打开控制面板的这个程序。System.ControlPanel.Category是描述应用程序图标在控制面板里出现的位置,其取值范围为0-11,其中0为在所有项目中显示,1为外观和个性化,2硬件和声音,3为网络和Internet,5为系统和安全,6为时钟、语言和区域,7为轻松使用,8为程序,9为用户账户。其它枚举数值不推荐使用,一般为“1,8”。如果要选择多个,可以用英文逗号分割。

第四步,在注册表HKEY_CLASSES_ROOT\CLSID\{GUID}下新建子键DefaultIcon,设置其默认值(Default)为图标资源,例如%ProgramFiles%\Profile.exe,-2 。这里的{GUID}是第一步创建的GUID,请替换这个占位符。在{GUID}下继续创建 Shell\Open\Command 子键,设置 Command的默认值(Default)为 %ProgramFiles%\Profile.exe。熟悉windows和注册表的同学们一看就知道了,这里就是设置当点击控制面板图标的时候,所运行的具体程序路径,可以带参数哟。

接下来,我们打开控制面板,就可以发现图标已经出现在我们期待的位置上了。

更多信息,可以访问微软MSDN的相关文档

windows环境下Git Server系列之安装配置

2013年11月9日 1 条评论

先来说一说背景。最近一直在加班陪着忙一个项目。项目开始的时候,说是来了一个牛人,很有个性。对于项目的版本控制,坚持要用git。人家用git,是把代码给提交到 Github 上面。

一来,我们这边从上到下都习惯用SVN,版本控制服务器也是个windows服务器,而git server 大部分是linux系统。另外一点,商业项目放在Github上,管理层有些担忧。后来,双方的PM都给那个牛人做工作,在压力下人家最后同意使用svn。

于是项目就开工了,最近一个月周末不休息都在加班。不过这个倒是题外话了。

我一直就在琢磨如何架设自己的 Git Server这个事情,SVN Server 我用的是免费的 VisualSVN Server,一直希望有个类似的window平台上的 Git Server。这么些年来,我习惯了 GUI 的操作,始终觉得 linux 的命令太难以记忆。如果有一个简单的软件在windows服务器上运行,并且有界面配置,简单容易操作,那该多好。

在网上搜索了一把,貌似很多都是在 windows 下模拟的 linux 环境,然后 ssh 登陆什么的。违背了简洁的原则,有这个折腾的功夫,我还不如就用linux服务器呢。昨天终于无意间被我搜索到一个开源的东西,可以满足我的要求了。

主角出场,那就是 Bonobo Git Server。

bonobo

这个应用的官网是http://bonobogitserver.com/

下载地址是:https://github.com/jakubgarfield/Bonobo-Git-Server

首先允许我来介绍下这个应用,它是运行在 IIS 下的使用 MVC3+ 的网站。网站本身使用了SQLite 存储,然后 git 方面是调用的其它组件。

相比其它的方式,有什么优点呢?首先不需要各种模拟linux环境,原生的。另外VisualSVN Server 还自带安装apache,而 Bonobo Git Server直接使用 IIS,感觉更爽。

下载解压缩,然后添加到 IIS 里,记得使用 netframework 4.0 应用池,为该网站添加一个域名就可以了。安装完成后,访问网站,输出初始用户名和密码 admin,即可登录。当前的版本已经支持多语言了。

进入了管理界面,首先要做的是修改全局设置。修改库目录为服务器上的目录文件夹,记得该文件夹要有写权限。至于是否允许匿名提交、匿名注册什么的,大家就根据实际情况设置吧。

全局设置完毕,再来设置用户,强烈建议大家修改admin的密码。同时再创建一个个人用户,admin 用来管理这个网站,而新建的个人用户则用来代码的提交。用户信息里有一个邮箱项,建议填写真实的邮箱。

然后就是库设置,新建一个库,设置权限什么的,有中文界面,很简单的,就不细说了。创建完成后,点击库,就可以查看库的 URL 地址了,这个地址就是版本控制的地址。

至此,服务器端的设置就完成了。大家可以开发使用了。

分类: 日常 标签: , , , ,