人気ブログランキング | 話題のタグを見る

WSH

WSHを使って、自動的にデフラグプログラムを実行するサンプルを作ってみました。

WSHについては、下のページあたりが勉強になると思います
http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/

下のサンプルの動かし方は、
1.ソースをコピペで、メモ帳へ
2.名前をつけて保存で、拡張子VBSで保存
3.保存したファイルを実行

って感じです。WSHは、なかなか便利ですね。

---------------------------------------------------



Set FSO = CreateObject("Scripting.FileSystemObject")
Const cPATH1 = "C:\winnt\system32\dfrg.msc"
Const cPATH2 = "C:\windows\system32\dfrg.msc"
Dim lngRtnOS
Dim strMSG
Dim BlnFlg

If FSO.FileExists(cPATH2) = True Then
'XP
lngRtnOS = 0
strMSG = "WindowsXP"
Else
If FSO.FileExists(cPATH1) = True Then
'2000
lngRtnOS = 1
strMSG = "Windows2000"
Else
'etc
lngRtnOS = 2
strMSG = "Windows2000/XP 以外のOSです"
End If
End If
Set FSO = Nothing

Set WShell = WScript.CreateObject("WScript.Shell")
BlnFlg = WShell.Popup("自動的にデフラグ処理を開始して良いですか?" & vbCrLf & "(選択しないと、3秒後にキャンセルされます)", 3, strMSG, vbOKCancel + vbInformation)
If BlnFlg = vbOK Then

If lngRtnOS = 0 Then
WShell.Run (cPATH2)
Else
If lngRtnOS = 1 Then
WShell.Run (cPATH1)

Else
Call MsgBox("このOS環境では動作できません。", vbOKOnly + vbExclamation, strMSG)
WScript.Quit
End If
End If

WShell.AppActivate ("ディスク デフラグ ツール")
WScript.Sleep (3000)
WShell.SendKeys ("{TAB}{TAB}{TAB} ")
WScript.Sleep (7000)
WShell.SendKeys ("{TAB} ")
WScript.Sleep (1000)
Set WShell = Nothing
End If
by tumugu_32 | 2007-05-22 09:52 | 仕事


徒然なるままに夜明


by tumugu_32

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