SQLの窓

2014年06月14日


VBScript : プロパティダイアログを表示する

プロパティを表示する為には、呼び出し元が終了していない必要があるので、スクリプトを終了させない方法を二通り用意しています( .HTA からであれば必要ありません。)

※ スクリプトは prop.vbs としています

MsgBox を使う方法
Set Fso = CreateObject( "Scripting.FileSystemObject" )
Set objShell = CreateObject("Shell.Application")
strTarget = Wscript.Arguments(0)
strPath = Fso.GetParentFolderName(strTarget)
strFile = Fso.GetFileName(strTarget)

Set objFolder = objShell.NameSpace(strPath)
Set objFile = objFolder.ParseName(strFile)
objFile.InvokeVerb("properties")

MsgBox("プロパティダイアログを表示する為にプロセスを維持します")



WMI を使う方法
' このセクションは、cscript.exe で処理を強制させるものです
str = WScript.FullName
str = Right( str, 11 )
str = Ucase( str )
if str <> "CSCRIPT.EXE" then
	str = WScript.ScriptFullName
	Set WshShell = CreateObject( "WScript.Shell" )
	Call WshShell.Run( "cmd.exe /c cscript.exe """ & str & """ """ & Wscript.Arguments(0) & """", 3 )
	WScript.Quit
end if

strTarget = Wscript.Arguments(0)
Set Fso = CreateObject( "Scripting.FileSystemObject" )
Set objShell = CreateObject("Shell.Application")
strPath = Fso.GetParentFolderName(strTarget)
strFile = Fso.GetFileName(strTarget)

Set objFolder = objShell.NameSpace(strPath)
Set objFile = objFolder.ParseName(strFile)
objFile.InvokeVerb("properties")

' WMI の処理の為のオブジェクトを取得
' スクリプトを終了しないようにしています
Set obj = GetObject("winmgmts:\\.\root\cimv2")
' イベントの定義
Set objMonitor = obj.ExecNotificationQuery( _
	"select * from __InstanceModificationEvent " & _
	"where TargetInstance isa 'Win32_LocalTime' " & _
	" and TargetInstance.Year = 0" _
)

Wscript.Echo "プロパティ表示後は、このコマンドプロンプトは閉じて下さい"
Set objLatestEvent = objMonitor.NextEvent 

コマンドラインで以下のように実行します
>prop.vbs "対象ファイルのフルパス"

関連する記事

VBScript : ファイルやフォルダを右クリックすると表示されるコマンド文字列の一覧を取得して、それを使ってコマンドを実行する


タグ:SHELL VBScript WMI
posted by lightbox at 2014-06-14 17:02 | VBS + Shell | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり