2008/06 에 해당하는 글1 개
2008/06/13   [WMI] 비주얼 스튜디오 2005 단축키 설정 불러오기 by TTF


[WMI] 비주얼 스튜디오 2005 단축키 설정 불러오기 by TTF
프로그래밍/WMI 스크립트 | 2008/06/13 03:21
비주얼 스튜디오 2005 단축키 설정 파일, WMI 스크립트를 이용한 자동 설정 파일입니다.

주의사항 : 비주얼 스튜디오의 솔루션 닫기를 누른 후 사용한다.
(비주얼 스튜디오 Title name을 "Microsoft Visual Studio"로 인식하여 스크립트 진행)
(2008-06-13) Regist_vssettings.vbs 스크립트에 문제가 있어서 수정하였습니다.
(2008-07-15) Window XP SP3 에서는 SendKeys Method의 짧은 시간 반복 입력을 막은 것으로 추측됩니다.
Option Explicit
 
' 기본 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")
 
'CMD 윈도우 98에서도 적용 가능하게 COMSPEC으로 가져온다.
Dim COMSPEC : COMSPEC = Shell.ExpandEnvironmentStrings("%comspec%")
 
'각 Step별 윈도우 Title 확인
Const WindowTitleName_01 = "Microsoft Visual Studio"
Const WindowTitleName_02 = "설정 가져오기 및 내보내기 마법사"
Const WindowTitleName_03 = "설정 파일 선택"
 
'비주얼 스튜디오 사용자 정의 설정 파일
Dim strSetupFile : strSetupFile = "TTF.vssettings"
 
'Main 함수 실행 후 종료
MainFunction
Wscript.quit
 
'Main 함수
Sub MainFunction
  ' Microsoft Visual Studio - Window Title 변경
  WaitForActiveWindow WindowTitleName_01, 3
  Wscript.Sleep 200
  SendKeys "%(FT)"    ' ALT + F + T
 
  Shell.Popup "Visual Studio 프로젝트를 닫았습니다. 3초 대기 후 진행합니다.", 3, "3 second wait.", 48
 
  WaitForActiveWindow WindowTitleName_01, 3
  Wscript.Sleep 200
  SendKeys "%(TI)"    ' ALT + T + I
 
  ' 설정 가져오기 및 내보내기 마법사 - Window Title 변경
  WaitForActiveWindow WindowTitleName_02, 3
  Wscript.Sleep 200
  SendKeys "%(I)"   ' ALT + I
  SendKeys "%(N)"   ' ALT + N
 
  WaitForActiveWindow WindowTitleName_02, 3
  Wscript.Sleep 200
  SendKeys "%(O)"   ' ALT + O
  SendKeys "%(N)"   ' ALT + N
 
 
  WaitForActiveWindow WindowTitleName_02, 3
  Wscript.Sleep 200
  SendKeys "%(B)"   ' ALT + B
 
  ' 설정 파일 선택 - Window Title 변경
  WaitForActiveWindow WindowTitleName_03, 3
  Wscript.Sleep 200
  SendKeys "%(N)"   ' 파일이름 입력
 
  '설정파일 경로 구하기
  Dim strFileFullPath
  GetFileFullPath strSetupFile, strFileFullPath
 
  WaitForActiveWindow WindowTitleName_03, 3
  Wscript.Sleep 200
  SendKeys strFileFullPath  ' 파일 경로 + 이름 입력
  SendKeys "%(O)"   ' ALT + O (파일 열기)
 
  WaitForActiveWindow WindowTitleName_02, 3
  Wscript.Sleep 500
  SendKeys "%(N)"   ' ALT + N
  SendKeys "%(F)"   ' ALT + F
 
  WaitForActiveWindow WindowTitleName_02, 3
  SendKeys "{ENTER}"  ' 닫기 Enter
End Sub
 
Sub GetFileFullPath(strFileName, strFileFullPath)
  Dim objFile
  Set objFile = FSO.GetFile( strFileName )
  strFileFullPath = FSO.GetAbsolutePathName(objFile)
End Sub
 
'Window 이름이 동일한 윈도우 창을 활성화
Sub WaitForActiveWindow(WindowName, Second)
  if Second < 0 Then
    Shell.Popup "음수 시간을 설정할 수 없습니다.", 3, "Error!", 48
    Wscript.Quit
  End if
 
  Dim TimeOutCount : TimeOutCount = Second * 10
 
  While ( Shell.AppActivate( WindowName ) = False )
    Wscript.Sleep 1 
    if TimeOutCount < 0 Then
      Shell.Popup WindowName & " 윈도우를 찾을 수 없습니다. 실행을 종료합니다.", 5, "Can't Find Window", 48
      Wscript.Quit
    End if
 
    Wscript.Sleep 100
    TimeOutCount = TimeOutCount - 1
  WEnd
  Wscript.Sleep 200
End Sub
 
'SendKey를 Sleep(200)로 감싼다. XP SP3 버그 임시 해결 by TTF
Sub SendKeys( Keys )
  Wscript.Sleep 200
  Shell.SendKeys Keys
End Sub



Macro 추가 버전

Name
Password
Homepage
  Secret
Description
 

BLOG main image
전체 (357)
Project (7)
TTF 강좌 (21)
Tip&Tech (57)
프로그래밍 (146)
DATABASE (9)
자료실 (103)
디아블로2 (2)
TTF 개인.. (11)
영어 관련 (0)
<<   2008/06   >>
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
2008/10
2008/09
2008/08
2008/07
2008/06
관리자만 볼..
    11/06 -
관리자만 볼..
    10/06 -
관리자만 볼..
    10/02 -
http://supp..
    09/30 - TTF
감사합니다...
    09/26 - 이상곤
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..
SQL Compact
SVN NOTIFY
TCP 레지스..
Time4Crime(..
UML Case To..
UML 관련 정..
vc++ 소스와..
vivaman - ..
Win32 Debug..
winapi - AP..
xlsvba 카페
XType님의 ..
yoda의 홈페..
가상 플로피..
구글번역(영..
구글번역(한..
김상욱 개발..
김태형님 블..
꿀뷰
네이버 지하..
대한민국 법..
디버거 툴 ..
디버그 랩
디스어셈블..
마소 TechNet
망사2 PC방 ..
메뉴얼 언패..
미디어 컨버트
버그 리포트..
비스무리(송..
비주얼 베이..
서울시 버스..
서울시교통..
스프링노트
시디 커버 ..
시디알인포 ..
신용우님 FP..
신화방송국
싸미월드
안준석님 블..
알고리즘 심..
언패킹 강좌..
여리의 작업실
영어 듣기 ..
온라인 게임..
윈도우 프로..
유경상의 닷..
인크레디빌드
자바스크립..
전자 부품 ..
전화번호로 ..
정명수님 블..
정보보안연..
지니네 - 네..
지니야 홈페..
찬희와 희야
최흥배님 카..
카페 24 - ..
커플이님의 ..
클래스 뷰 ..
통계 정보 ..
통합전자민..
프로젝트 관리
한국 TOC 컨..
한국전산원 ..
해외거주 한..
휘슬러 사용..
180
11
104072
태터툴즈 배너