#include
#include
#include
int setvalue (char * valuename, char *addvalue);
dword nlength = max_path;
char directoryname[max_path];
int apientry winmain(hinstance hinstance,
hinstance hprevinstance,
lpstr lpcmdline,
int ncmdshow)
char pvalue[max_path];
::zeromemory(directoryname,max_path);
::zeromemory(pvalue,max_path);
// 得到當前執行檔案的路徑名
::getcurrentdirectory(nlength,directoryname);
// 設定path環境變數
strcat(pvalue,";");
strcat(pvalue,directoryname);
strcat(pvalue,"//bin");
setvalue("path",pvalue);
// 重置pvalue
::zeromemory(pvalue,max_path);
// 設定classpath環境變數
strcat(pvalue,".;");
strcat(pvalue,directoryname);
strcat(pvalue,"//lib//tool.jar;");
strcat(pvalue,directoryname);
strcat(pvalue,"//lib//dt.jar");
setvalue("classpath",pvalue);
return 0;
int setvalue(char * valuename, char *addvalue)
dword keytype = reg_sz;
byte getvalue[1024];
dword datalen = 1024;
hkey hroot = hkey_local_machine;
hkey hkey;
char *pisset;
::zeromemory(getvalue,max_path);
char *szsubkey = "system//currentcontrolset//control//session manager//environment";
// 開啟鍵
dword dwdisposition = reg_opened_existing_key;
long lret = ::regcreatekeyex(hroot, szsubkey, 0, null, reg_option_non_volatile,
key_all_access, null, &hkey, &dwdisposition);
if (lret != error_success)
return -1;
// 讀取鍵值
lret = ::regqueryvalueex(hkey,valuename,null,&keytype,getvalue,&datalen);
pisset = strstr((char*)getvalue, directoryname);
// 如果已設定則返回
if (pisset)
char msgtext[80];
strcpy(msgtext,valuename);
strcat(msgtext,"環境變數已配置好,不需再配置!");
::messagebox(null,msgtext,"fc提示",mb_ok);
return -1;
strcat((char*)getvalue,addvalue);
// 寫入鍵值
lret = ::regsetvalueex(hkey, valuename, 0, reg_sz, (byte*)getvalue, strlen((char*)
getvalue));
if (lret == error_success)
char msgtext[80];
strcpy(msgtext,valuename);
strcat(msgtext,"環境變數配置成功!");
::messagebox(null,msgtext,"fc提示",mb_ok);
// 使設定立即生效,下面兩種法都可以
sendmessage(hwnd_broadcast,wm_settingchange,0,(lparam)text("environment"));
//sendmessagetimeout(hwnd_broadcast, wm_settingchange, 0,
(lparam)"environment", smto_abortifhung, 5000, 0);
// 關閉控制代碼
::regclosekey(hkey);
return 0;
} 複製**
on error resume next
set sysenv = createobject("wscript.shell").environment("system") '系統環境變數的陣列物件
sysenv.remove("ztest3") '刪除變數
sysenv("ztest3")="test value" '新增變數
複製**
vbs這種簡單吧……
hkey_current_user/software/microsoft/windows/currentversion/run
永久生效環境變數
方法一 在 etc profile檔案中新增變數 對所有使用者生效 永久的 用vi在檔案 etc profile檔案中增加變數,該變數將會對linux下所有使用者有效,並且是 永久的 要讓剛才的修改馬上生效,需要執行以下 source etc profile 方法二 在使用者目錄下的.bash pr...
環境變數不重啟生效
小技巧 環境變數不重啟生效 先到我的電腦 屬性 高階 環境變數,新增新環境變數或修改已有的環境變數,然後執行 dos命令提示符 或run cmd,假設要修改path變數,不管path的原值是什麼,在dos視窗直接把path修改為任意值,關閉dos視窗,這時,我的電腦 屬性 高階 環境變數裡path已...
新增環境變數(永久生效)
方法一 新增使用者變數 wmic environment create name testuser username username variablevalue d test03 新增系統變數 wmic environment create name testsys username variab...