SQLの窓

2014年04月17日

実行されたプログラムがどこにあって、どのように実行されているか

早い話、タスクマネージャに表示されている、より詳しい情報を取得です。パスが通ってるファイルを実行した時の実際の場所を知りたい時や、なんか、気になる(ウイルス?)プログラムの起動場所を知りたい時に使います


Set Fs = CreateObject( "Scripting.FileSystemObject" )
Set WshShell = CreateObject( "WScript.Shell" )
Set OutFile = Fs.OpenTextFile( "ProcessList.htm", 2, True )

strComputer = "." 
Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
Set col = objWMIService.ExecQuery _ 
    ("Select * from Win32_Process") 
result = ""
OutFile.WriteLine "<html><head><title>ProcessList</title>"
OutFile.WriteLine "<meta http-equiv=""Content-Type"" content=""text/html; charset=shift_jis"">"
OutFile.WriteLine "<style type=""text/css"">* { font-size:12px;}"

str=""
str=str&"table { "&vbCrLf
str=str&"	border-collapse: collapse; "&vbCrLf
str=str&"	border-style: solid; "&vbCrLf
str=str&"	border-color: #000000; "&vbCrLf
str=str&"	border-width: 1px; "&vbCrLf
str=str&"	background-color: #FFFFFF; "&vbCrLf
str=str&"} "&vbCrLf
str=str&"td { "&vbCrLf
str=str&"	padding: 5px; "&vbCrLf
str=str&"	border-style: solid; "&vbCrLf
str=str&"	border-color: #000000; "&vbCrLf
str=str&"	border-width: 1px; "&vbCrLf
str=str&"} "&vbCrLf
str=str&"th { "&vbCrLf
str=str&"	padding: 5px; "&vbCrLf
str=str&"	border-style: solid; "&vbCrLf
str=str&"	border-color: #000000; "&vbCrLf
str=str&"	border-width: 1px; "&vbCrLf
str=str&"	background-color: silver; "&vbCrLf
str=str&"} "&vbCrLf
OutFile.WriteLine str

OutFile.WriteLine "</style>"
OutFile.WriteLine "</head><body>"
OutFile.WriteLine "<table>"
OutFile.WriteLine "<tr>"
OutFile.WriteLine "<th>名称</th>"
OutFile.WriteLine "<th>パス</th>"
OutFile.WriteLine "<th>コマンドライン</th>"
OutFile.WriteLine "</tr>"
nCnt = 0
For Each obj in col 
	OutFile.WriteLine "<tr>"
	strCss = ""
	if nCnt Mod 2 = 0 then
		strCss = "style='background-color:#D0D0D0;'"
	end if
	OutFile.WriteLine "<td nowrap " & strCss & "><B>" & obj.Caption & "</b></td>"
	OutFile.WriteLine "<td nowrap " & strCss & ">" & obj.ExecutablePath & "</td>"
	on error resume next
	OutFile.WriteLine "<td nowrap " & strCss & ">" & obj.CommandLine & "</td>"
	on error goto 0
	OutFile.WriteLine "</tr>"
	nCnt = nCnt + 1
Next 
OutFile.WriteLine "</table></body></html>"
OutFile.Close

Call WshShell.Run( "cmd.exe /c start " & "ProcessList.htm",0, true )

このソース内部の CSS 部分の出力文字列の作成は、テキスト変換サービスの VBS で可能です。





タグ:WMI VBScript
【VBScriptの最新記事】
posted by at 2014-04-17 05:42 | VBScript | このブログの読者になる | 更新情報をチェックする


Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX