支持右键添加目录到Windows环境变量path变量中并立即生效的小工具

使用说明:

1.不需要安装, 将下载后解压缩,将解压缩后的目录拷贝到你喜欢的路径下即可。
2.第一次使用编辑”添加到系统路径.reg”文件,将I:\\mydoc\\pathTool.exe改成您的pathTool.exe的路径,请注意要双左斜线。
3.以后只要在目录上面点击右键, 就会看到”Add To Path”菜单项, 点击执行, 则选择的目录会自动加入到path环境变量中。
4.为了使path环境变量立即生效,程序向系统发送了广播消息,因此要延时几十秒钟,请耐心等待一下。

@使用备注:

环境变量分为用户环境变量和系统环境变量,用户环境变量只对当前用户有效,系统环境变量对于系统中的所有用户有效。 本程序修改的是用户环境变量中的path变量。同一个目录不会重复加入,程序会自动处理。

@关于程序修改Windows环境变量后使环境变量立即生效的问题:

本程序是使用SendMessageTimeout函数向系统发送设置改变的消息来实现的。具体代码如下:

DWORD dwMsgResult = 0L;

SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0,LPARAM(“Environment”), SMTO_ABORTIFHUNG, 5000, &dwMsgResult);

5000是延时等待的时间长度,单位为毫秒。整个等待的长度为:

Therefore, the total wait time can be up to the value of uTimeout multiplied by the number of top-level windows.

在本示例中整个程序等待的长度 = 5000 * 顶层窗口的个数;

实现原理

查询注册表path的值,如果路径已存在提示已存在,如果不存在的话添加到path,然后SendMessageTimeout让环境变量起作用。

DWORD dwMsgResult = 0L;
SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0,LPARAM(“Environment”), SMTO_ABORTIFHUNG, 5000, &dwMsgResult);//广播让系统路径起作用

下载pathTool.zip

Tags :

Google Reader Yahoo Facebook Twitter Digg FriendFeed Delicious Google Translate
This entry was posted onJune 2nd, 2010 at 23:55. You can follow any responses to this entry through the RSS 2.0. Responses are currently closed, but you can Trackback..

Comments are closed.