
批處理修改注冊表環境變量Path后立即生效使用三方dllcallexe注冊表修改環境變量Path后立即生效。批處理Reg命令修改系統變量后使它立即生效。刷新系統使系統環境變量修改立即生效。腳本配置JAVA_HOME環境變量后刷新使其立即生效。
nclick="copycode($('code0'));">復制代碼
- ::廣播消息,通知修改了環境變量
- dllcall.exe SendMessageTimeoutA,0xffff,0x1a,0,Environment,2,5000,0,user32.dll
適用:一些軟件需要用到系統環境變量,如:JAVA要用到JAVA_HOME,數據庫要用到Path等。綠色版軟件通常用批處理REG命令修改注冊表,但問題是不能直接生效,需要重啟電腦。運行以上dllcall命令成功廣播消息后,再打開的軟件載入的是新的環境變量Path/JAVA_HOME等。即對注冊表【HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment】項里的修改有效。----dllcall.exe----簡介:dllcall.exe是一個調用.dll中函數的32位第三方工具。版本:v1.0.3.5,大小:4096字節。帖子:又一個 dllcall.exe//三方詳情介紹http://bbs.bathome.net/viewthread.php?tid=26870下載:搜索本論壇http://www.bathome.net/s/tool/index.html?key=dllcall或使用如下批處理,生成dllcall.exenclick="copycode($('code1'));">復制代碼
- ::簡短寫法
- dllcall SendMessageTimeoutA,65535,26,,Environment,2,4444,,user32
附:Win的SendMessageTimeout()消息函數簡要說明SendMessageTimeout(HWND_BROADCAST,WM_SETTINGCHANGE,0,LPARAM(Environment),SMTO_ABORTIFHUNG,5000,&MsgResult);user32.dll的SendMessageTimeout()消息函數有7個參數 1、hWnd: HWND_BROADCAST= 0xffff//廣播 2、Msg: WM_SETTINGCHANGE = 0x1a//設置更新 3、wParam: = 0 4、lPARAM: = Environment//環境變量 5、fuFlags: SMTO_ABORTIFHUNG = 2 6、uTimeout: = 5000 7、(out)lpdwResult: =0----C++函數原型----public static extern IntPtr SendMessageTimeout(IntPtr hWnd,uint Msg,UIntPtr wParam,string lParam,uint fuFlags,uint uTimeout,out UIntPtr lpdwResult);nclick="copycode($('code2'));">復制代碼
- ::生成dllcall_exe.bat::調用DLL函數的dllcall.exe:v1.0.3.5:4096B::
- ::實用:通過廣播設置變更的消息,刷新環境變量。
- ::dllcall SendMessageTimeoutA,0xffff,26,0,Environment,2,5000,,user32.dll
- @echo off
- cd/d%~dp0
- >base64Bin.js (for /f tokens=1* delims=: %%u in ('type %~0|findstr /ib ::JS::')do echo/%%v)
- for /f delims=: %%n in ('findstr /ibnc:::dllcall.cab %~0')do set N=%%n
- >dllcall_base64.txt (for /f eol=: delims= %%b in ('more +%N% %~0')do echo/%%b)
- base64Bin.js dllcall_base64.txt
- expand -r dllcall_base64.txt.bin%_解壓文件:dllcall.ex_/dllcall.cab_%
- del base64Bin.js dllcall_base64.txt dllcall_base64.txt.bin%_刪除中間生成文件_%
- goto :eof
- ::JS:://base64_to_Bin.jsbase64編碼的.txt轉.exe/.zip/.jpg等
- ::JS:://獲取Hex文本文件名參數
- ::JS::TxtFile = Wscript.Arguments(0);
- ::JS::
- ::JS:://讀取base64文本文件
- ::JS::var fso = new ActiveXObject(scripting.FileSystemObject);
- ::JS::var HexFile=fso.OpenTextFile(TxtFile);
- ::JS::HexData=HexFile.ReadAll();
- ::JS::
- ::JS:://轉換中間XMLDOM對象,便于處理
- ::JS::var oXML= new ActiveXObject(Microsoft.XMLDOM);
- ::JS::var xNode = oXML.createElement(base64Data);
- ::JS::xNode.dataType = bin.base64;
- ::JS::xNode.text = HexData;
- ::JS:://轉Stream并寫入Bin
- ::JS::var Stream= new ActiveXObject(ADODB.Stream);
- ::JS::Stream.Type = 1;
- ::JS::Stream.Open;
- ::JS::Stream.Write(xNode.nodeTypedValue);//Bin
- ::JS::Stream.SaveToFile(TxtFile + .bin,2);
- ::JS::Stream.Close;
- ::dllcall.cab的base64Txt文本::dllcall.ex_:2126B::dllcall_base64.txt:2875B::
- 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
- YlWw85TR7+wXUXnx5+/c/T+0/wA=
- ::base64結束。::

