[WMI] 시스템 변수 레지스트리 추가하기(환경변수설정)
프로그래밍/WMI 스크립트 | 2008/07/10 01:40

[WMI] 비주얼 스튜디오 2005 단축키 설정 불러오기 by TTF
비주얼 스튜디오 환경설정 Setting 파일을 이용해서
"단축키 설정"과 "프로젝트 디렉터리 설정"을 쉽게 불러오는데 성공하였다.

하지만 비주얼 스튜디오 설치 과정에서 괴로운 작업이 한가지 더 있다.
바로 환경변수에 폴더 경로를 추가하는 작업.

그렇게 힘들진 않지만 윈도우 단축키와 마우스 컨트롤이 단련되어 있지 않은
"특수한" 프로그래머들은 이런 것 하나를 추가하는데에도 고통을 느낀다.(으악~~)

자자 아래와 같이 한방에 등록해 주는 WMI 스크립트!
이제 비주얼 스튜디오 환경변수 설정할 때 약간(?) 도움을 받을 수 있다. ㅎㅎㅎ

"Env_Setting.vbs" 파일만 클릭해 주면,
현재 "Env_Setting.vbs"가 있는 위치의 폴더 경로를 얻어와서,
그동안 등록하기 불편했던 환경 설정 변수들을 모두 등록 해준다.



Option Explicit
 
Dim strComputer : strComputer = "."
 
' 기본 Object 가져오기
Dim Shell : Set Shell = WScript.CreateObject("WScript.Shell")
Dim FSO : Set FSO = CreateObject("Scripting.FileSystemObject")
Dim WshEnv : Set WshEnv = Shell.Environment("Process")
Dim ProgramDir : ProgramDir = WshEnv("ProgramFiles")
Dim Reg : Set Reg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
Dim WMIService : Set WMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
 
'CMD 윈도우 98에서도 적용 가능하게 COMSPEC으로 가져온다.
Dim COMSPEC : COMSPEC = Shell.ExpandEnvironmentStrings("%comspec%")
 
 
'현재 세팅 파일 경로 구하기
Dim strSetupFile : strSetupFile = "Env_Setting.vbs"
 
'Main 함수 실행 후 종료
MainFunction
Wscript.quit
 
'Main 함수
Sub MainFunction
' 세팅 파일 절대 경로 구하기
  Dim strParentFolderPath
  GetParentFolderPath strSetupFile, strParentFolderPath
 
' 환경 변수 레지스트리 설정
  Const HKEY_CURRENT_USER = &H80000001
  Const HKEY_LOCAL_MACHINE = &H80000002
 
  Dim strKeyPath, strValueName, strValue
 
  '일단 등록하고 아래에서 바로 사용할 수 있도록 Refresh 하자
  strKeyPath = "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
  strValueName = "TTF_Base"
  strValue = strParentFolderPath
  Reg.SetStringValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, strValue
 
  strKeyPath = "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
  strValueName = "TTF_Base_Header"
  strValue = "%TTF_Base%\include\Header"
  Reg.SetExpandedStringValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, strValue
 
  strKeyPath = "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
  strValueName = "TTF_Base_Lib"
  strValue = "%TTF_Base%\Include\Library"
  Reg.SetExpandedStringValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, strValue
 
  strKeyPath = "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
  strValueName = "TTF_Base_UnitTest"
  strValue = "%TTF_Base%\UnitTest++\src"
  Reg.SetExpandedStringValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, strValue
 
 
'환경 변수 새로고침(바로 사용 가능하도록 Refresh)
  Dim colItems : Set colItems = WMIService.ExecQuery ("Select * from Win32_Environment WHERE SystemVariable = True")
 
  Dim objItem
  For Each objItem in colItems
         objItem.Put_
  Next
End Sub
 
Sub GetParentFolderPath(strFileName, strFileFullPath)
  Dim objFile
  Set objFile = FSO.GetFile( strFileName )
  strFileFullPath = FSO.GetParentFolderName(objFile)
End Sub
 
Trackback http://www.npteam.net/trackback/655
Name
Password
Homepage
  Secret
Description
 

BLOG main image
전체 (360)
Project (7)
TTF 강좌 (21)
Tip&Tech (57)
프로그래밍 (148)
DATABASE (9)
자료실 (104)
디아블로2 (2)
TTF 개인.. (11)
영어 관련 (0)
<<   2009/01   >>
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
2009/01
2008/12
2008/10
2008/09
2008/08
네, 비주얼 ..
    01/04 - TTF
관리자만 볼..
    01/04 -
잘 보고 갑..
    2008 - elther
namo님 지적..
    2008 - TTF
http://msdn..
    2008 - TTF
VC6에서 UNI..
    2006 - HaruSchool
ActiveX 상..
ADODB, OLED..
bootflashdo..
CD 없이 게..
CNX 17기 썽..
code2dive ..
CodeProject..
codeway - ..
ColorSchemes
cpueblo's b..
Crystal Flo..
C프로그래밍..
DataBaser.net
DB 디자인 ..
DirectX 9.0..
Dual - 네이..
Dual - 홈페..
DVD인포 국..
Encoding, D..
FastDelegate
guru 3d(최..
http 파일 ..
IBM UML링크
INF, WMI, V..
Inxzone - ..
MFC 관련 네..
MFC 기초 강..
MFC 유용한 ..
MFC 컨트롤 ..
MS 다운로드..
MSDN shell ..
MSDN 공용 ..
Mysql DB 디..
Naughter의 ..
POSA2 DEVPI..
Rainmeter
SQL Compact
SVN NOTIFY
TCP 레지스..
Time4Crime(..
UML Case To..
UML 관련 정..
vc++ 소스와..
vivaman - ..
Win32 Debug..
winapi - AP..
xlsvba 카페
XML 입문
XType님의 ..
yoda의 홈페..
가상 플로피..
공박스(택배..
구글번역(영..
구글번역(한..
김상욱 개발..
김태형님 블..
꿀뷰
네이버 지하..
대한민국 법..
디버거 툴 ..
디버그 랩
디스어셈블..
마소 TechNet
망사2 PC방 ..
메뉴얼 언패..
미디어 컨버트
버그 리포트..
비스무리(송..
비주얼 베이..
서울시 버스..
서울시교통..
스프링노트
시디 커버 ..
시디알인포 ..
신용우님 FP..
신화방송국
싸미월드
안준석님 블..
알고리즘 심..
언패킹 강좌..
여리의 작업실
영어 듣기 ..
온라인 게임..
윈도우 프로..
유경상의 닷..
인크레디빌드
자바스크립..
전자 부품 ..
전화번호로 ..
정명수님 블..
정보보안연..
지니네 - 네..
지니야 홈페..
찬희와 희야
최흥배님 카..
카페 24 - ..
커플이님의 ..
클래스 뷰 ..
통계 정보 ..
통합전자민..
프로젝트 관리
한국 TOC 컨..
한국전산원 ..
해외거주 한..
휘슬러 사용..
230
194
112790
태터툴즈 배너