欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
[注冊表和VBS]配置環(huán)境變量并立即生效 - 電腦技術(shù) - 廣西民族師范學(xué)院論壇 創(chuàng )新的|...

[注冊表和VBS]配置環(huán)境變量并立即生效

最近開(kāi)始學(xué)Java。我們主要學(xué)Java Application和Java Applet兩個(gè)分類(lèi)。為了在任意目錄下都能編譯和運行Java程序,需要對path和classpath環(huán)境變量進(jìn)行相關(guān)設置。終于知道環(huán)境變量用處之一了。想用程序來(lái)實(shí)現一下設置環(huán)境變量。好不容易用注冊表函數寫(xiě)好,結果不行。暈。。。后來(lái)想到應該要刷新一下。注銷(xiāo)和重起都可以。但我想實(shí)現的是立即生效。后來(lái)上網(wǎng)搜了一下,得到如下結果:
通過(guò)修改注冊表,修改了系統的環(huán)境變量,但是不會(huì )立即生效,除非在【我的電腦】上點(diǎn)擊右鍵,然后打開(kāi)環(huán)境變量的窗口,點(diǎn)擊【OK】后,才能生效。后來(lái)用Spy++工具捕獲消息,發(fā)現在點(diǎn)擊【OK】按鈕時(shí),發(fā)送了WM_SETTINGCHANGE消息。
這里有兩種方法可以實(shí)現:

1.SendMessage(HWND_BROADCAST,WM_SETTINGCHANGE,0,(LPARAM)TEXT("Environment"));
2.SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)"Environment", SMTO_ABORTIFHUNG, 5000, 0);
終于成功了,高興哇。后來(lái)無(wú)意中發(fā)現用VBS配置環(huán)境變量并立即生效簡(jiǎn)單得要命,當場(chǎng)暈倒。。。
下面把兩種實(shí)現方法都貼出來(lái)吧。
  1. //////////配置JAVA環(huán)境變量////////
  2. #include <windows.h>
  3. #include <string.h>
  4. #include <stdlib.h>

  5. int SetValue (char * valueName, char *AddValue);

  6. DWORD nLength = MAX_PATH;
  7. char DirectoryName[MAX_PATH];

  8. int APIENTRY WinMain(HINSTANCE hInstance,
  9.                      HINSTANCE hPrevInstance,
  10.                      LPSTR     lpCmdLine,
  11.                      int       nCmdShow)
  12. {
  13.         char pValue[MAX_PATH];
  14.         ::ZeroMemory(DirectoryName,MAX_PATH);
  15.         ::ZeroMemory(pValue,MAX_PATH);

  16.         // 得到當前執行文件的路徑名       
  17.         ::GetCurrentDirectory(nLength,DirectoryName);

  18.         // 設置path環(huán)境變量
  19.         strcat(pValue,";");
  20.         strcat(pValue,DirectoryName);
  21.         strcat(pValue,"\\bin");
  22.         SetValue("path",pValue);

  23.         // 重置pValue
  24.         ::ZeroMemory(pValue,MAX_PATH);

  25.         // 設置classpath環(huán)境變量
  26.         strcat(pValue,".;");
  27.         strcat(pValue,DirectoryName);
  28.         strcat(pValue,"\\lib\\tool.jar;");
  29.         strcat(pValue,DirectoryName);
  30.         strcat(pValue,"\\lib\\dt.jar");
  31.         SetValue("classpath",pValue);
  32.         return 0;
  33. }

  34. int SetValue(char * valueName, char *AddValue)
  35. {
  36.         DWORD keyType = REG_SZ;       
  37.         BYTE getValue[1024];
  38.         DWORD DataLen = 1024;
  39.         HKEY hRoot = HKEY_LOCAL_MACHINE;
  40.         HKEY hKey;
  41.         char *pIsset;
  42.         ::ZeroMemory(getValue,MAX_PATH);
  43.     char *szSubKey = "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment";
  44.        
  45.         // 打開(kāi)鍵
  46.         DWORD dwDisposition = REG_OPENED_EXISTING_KEY;       
  47.         LONG lRet = ::RegCreateKeyEx(hRoot, szSubKey, 0, NULL, REG_OPTION_NON_VOLATILE,

  48. KEY_ALL_ACCESS, NULL, &hKey, &dwDisposition);
  49.         if (lRet != ERROR_SUCCESS)
  50.                 return -1;
  51.        
  52.         // 讀取鍵值
  53.         lRet = ::RegQueryValueEx(hKey,valueName,NULL,&keyType,getValue,&DataLen);
  54.        
  55.         pIsset = strstr((char*)getValue, DirectoryName);

  56.         // 如果已設置則返回
  57.         if (pIsset)
  58.         {
  59.                 char MsgText[80];
  60.                 strcpy(MsgText,valueName);
  61.                 strcat(MsgText,"環(huán)境變量已配置好,不需再配置!");
  62.                 ::MessageBox(NULL,MsgText,"fc提示",MB_OK);
  63.                 return -1;
  64.         }

  65.         strcat((char*)getValue,AddValue);
  66.        
  67.         // 寫(xiě)入鍵值
  68.         lRet = ::RegSetValueEx(hKey, valueName, 0, REG_SZ, (BYTE*)getValue, strlen((char*)

  69. getValue));
  70.         if (lRet == ERROR_SUCCESS)
  71.         {       
  72.                 char MsgText[80];
  73.                 strcpy(MsgText,valueName);
  74.                 strcat(MsgText,"環(huán)境變量配置成功!");
  75.                 ::MessageBox(NULL,MsgText,"fc提示",MB_OK);

  76.                 // 使設置立即生效,下面兩種法都可以
  77.                 SendMessage(HWND_BROADCAST,WM_SETTINGCHANGE,0,(LPARAM)TEXT("Environment"));
  78.                 //SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0,

  79. (LPARAM)"Environment", SMTO_ABORTIFHUNG, 5000, 0);
  80.         }
  81.        
  82.         // 關(guān)閉句柄
  83.         ::RegCloseKey(hKey);
  84.         return 0;
  85. }
復制代碼
  1. on error resume next
  2. set sysenv = CreateObject("WScript.Shell").Environment("system") '系統環(huán)境變量的數組對象
  3. sysenv.Remove("ztest3")                      '刪除變量
  4. sysenv("ztest3")="test value"                '添加變量
復制代碼
VBS這種簡(jiǎn)單吧……
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
設立系統環(huán)境變量立即生效的VBS腳本
C++中strcat()函數
函數指針詳解
062.浮點(diǎn)數轉換為字符串
[原創(chuàng )]按鍵+VBS實(shí)現WINSOCK-TCP連接傳送字符(二)
QTP:VBS基礎教程
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久