2010年07月27日


タスクマネージャの起動( キーストロークを送る ) / OS バージョンの取得

タスクマネージャは、CTRL+SHIFT+ESC で起動するので、WScript.ShellSendKeys メソッド を使って起動させることができます。但し、WindowsXPでは、起動後アクティブにならないので、以下のような記述によって、Windows7 と WindowsXP で共用できるスクリプトとなります。

WMI は、OS のバージョンを取得する為に使用しています。
' GetOSVersion 内で使用しています
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")

' キーストロークを Windows に送ります
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "^+({ESC})"
if GetOSVersion() < 6 then
	WScript.Sleep 500
	WshShell.AppActivate "Windows タスク マネージャ"
end if

Function GetOSVersion()

	Dim colTarget,str,aData,I,nTarget

	Set colTarget = objWMIService.ExecQuery( _
		 "select Version from Win32_OperatingSystem" _
	)
	For Each objRow in colTarget
		str = objRow.Version
	Next

	aData = Split( str, "." )
	For I = 0 to Ubound( aData )
		if I > 1 then
			Exit For
		end if
		if I > 0 then
			nTarget = nTarget & "."
		end if
		nTarget = nTarget & aData(I)
	Next

	GetOSVersion = CDbl( nTarget )

End Function


タスクマネージャを単純に起動したい場合は、taskmgr.exe を実行するだけでかまいません。このサンプルは SendKeys メソッドでこのような事が可能である事を示す為の一例です。



posted by at 11:19 | Comment(0) | サンプル | このブログの読者になる | 更新情報をチェックする


この記事へのコメント
コメントを書く
お名前:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。