PCViewでPC情報を取得しつつ別のプログラム動かすやつ
とりあえず機器とかソフトの情報がまったく整理されていなくて
オレのせいにされそうなので、PCViewで情報を採取しつつ台帳整理を
あるていど効率化させようと企ててスクリプトを作りました。
本当はスタートアップに仕込んでおけば起動時にデータを取得してって
できて便利がいいんだけどまぁ、今勤めているところはなぜか
ボタンを押させるというなぞの習慣が好きなのでVBSを起動すれば
PCViewで取得した情報が共有フォルダに保管されます。
Const vbHide = 0 'ウィンドウを非表示
Const vbNormalFocus = 1 '通常のウィンドウで、最前面のウィンドウ
Const vbMinimizedFocus = 2 '最小化で、最前面のウィンドウ
Const vbMaximizedFocus = 3 '最大化で、最前面のウィンドウ
Const vbNormalNoFocus = 4 '通常のウィンドウで、最前面ではない
Const vbMinimizedNoFocus = 6 '最小化で、最前面にはならない
Set objWShell = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
strCudir = objWShell.CurrentDirectory
strPath = "保存先フォルダ"
If Not FSO.FolderExists(strPath) Then
strPath = strCudir & "\"
End If
pcViewini = strCudir & "\tool\PCView.ini"
If Not FSO.FileExists(pcViewini) Then
WScript.Quit
End If
'フォルダに接続不可の場合はカレントディレクトリにファイルを保存する。
ForReading = 1
ForWriteing = 2
Set objTextFile = FSO.OpenTextFile(pcViewini, ForReading)
Do Until objTextFile.AtEndOfStream
strNextLine = objTextFile.Readline
intLineFinder = InStr(strNextLine, "SavePath")
If intLineFinder <> 0 Then
strNextLine = "SavePath=" & strPath
End If
strNewFile = strNewFile & strNextLine & vbCrLf
Loop
objTextFile.Close
Set objTextFile = FSO.OpenTextFile(pcViewini, ForWriteing)
objTextFile.WriteLine strNewFile
objTextFile.Close
'PCViewを起動する
runApp = strCudir & "\tool\PCView.exe"
objWShell.Run runApp
'複数IP取得(レジストリキーにXXXの設定がある場合のみ起動させる)
strKeyPath = "HKEY_LOCAL_MACHINE\SOFTWARE\XXX\"
On Error Resume Next
If IsNull(objWShell.regread(strKeyPath)) Then
WScript.Echo "完了しました。"
WScript.Quit
Else
runScripts = strCudir & "\tool\別のプログラム"
objWShell.Run runScripts,vbMinimizedNoFocus,false
End If
Set objWShell = Nothing
WScript.Echo "完了しました。"
コメント