어서 노를 저어라!

2010/01/27

VBScript 교재및 샘플 연습 – 프로세스 감시및 재실행기

Filed under: Tips — Tags: , , , , — latellian @ 16:54
http://ss64.com/vb/

http://www.webbasedprogramming.com/Teach-Yourself-VBScript-in-21-Days/

vbscript
경로명을 포함하여 프로그램 실행시키기
   – 경로에 포함된 따옴표 처리는 chr(34)로 대치한다는걸 알았다.
http://forums.vandyke.com/showthread.php?p=20996
NetTransport가 자꾸 꺼지길래 만들어본 스크립트
  원인파악이 않되어 처리방법이 옳지는 않지만 시험삼아 만들어보았다.
프로세스를 감시하고 있다가 종료되면 다시 실행시킨다.
의외로 cpu점유율을 차지하지 않는다. 반복문이어서 조금은 차지할줄 알았는데.
실행하기는 vbs확장자로 에디터로 편집하면되는데, 이걸 켜고 끄자니 귀찮다.
wscript.exe 프로세스를 찾아 직접 꺼주어야 했다.
Option Explicit
Dim objWMIService, objProcess, colProcess, objShell
Dim strComputer, strExe, strT
‘ 내컴퓨터
strComputer = “.”
‘ 프로그램 실행 경로
strExe = “c:\Program Files\Xi\NetXfer\NetTransport.exe”
‘ 반복 시작
Do
‘ 초기화
strT = 0
Set objWMIService = GetObject(“winmgmts:” _
& “{impersonationLevel=impersonate}!\\” _
& strComputer & “\root\cimv2”)
Set colProcess = objWMIService.ExecQuery _
(“Select * from Win32_Process”)
‘ 프로세스 각각을 검색
For Each objProcess in colProcess
    If LCase(objProcess.Name) = “nettransport.exe” Then
strT= strT + 1
    Else
strT= strT + 0
    End If
Next
‘ 프로세스가 없음을 감지
    If strT = 0 Then
‘ 프로그램 실행
Set objShell = CreateObject(“WScript.Shell”)
objShell.Run chr(34) & strExe& chr(34),1,1
    End if
Loop

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: