なんでもかんでも実行できるわけではありませんが、使えるものもたくさんあります。ソースを一つで表現する為に、HTA で記述していますが、それぞれ単独で使うほうが現実的だとは思います。 コントロールパネル内は全て実行可能なはずです。デスクトップは、objShell.NameSpace(0) で取得されており、そこからフォルダオブジェクトや、フォルダアイテムオブジェクトを取得して使用しています。 ▼ shell_space.hta
<SCRIPT language="VBScript"> Dim objShell : Set objShell = CreateObject("Shell.Application") Dim objFolder : Set objFolder = objShell.NameSpace(0) </SCRIPT> <html> <head> <title>Shell で開く Windows ツール</title> <meta http-equiv="content-type" content="text/html; charset=SHIFT_JIS"> <HTA:APPLICATION ID="Sqlwin" BORDERSTYLE="sunken" INNERBORDER="yes" SCROLL="no" ICON="http://winofsql.jp/WinOfSql.ico" > <style type="text/css"> * { font-size:26px; font-family: "メイリオ", Meiryo, "MS Pゴシック", sans-serif; } </style> <SCRIPT language=VBScript> Function OpenDesktopFile( strTarget ) Dim objFile Set objFile = objFolder.ParseName(strTarget) Call objFile.InvokeVerb() End Function Function OpenProp( strTarget ) Dim objFile Set objFile = objFolder.ParseName(strTarget) objFile.InvokeVerb("properties") End Function Function ControlItemb( strName, strTarget ) Dim ControlPanel,objFolder,objFolderItems ControlPanel = "::{26EE0668-A00A-44D7-9371-BEB064C98683}" Set objFolder = objShell.NameSpace(ControlPanel) Set objFolderItems = objFolder.Items For I = 0 to objFolderItems.Count - 1 if objFolderItems.item(I).Name = strName then For J = 0 to objFolderItems.item(I).GetFolder.Items.Count - 1 if objFolderItems.item(I).GetFolder.Items.item(J).Name = strTarget then objFolderItems.item(I).GetFolder.Items.item(J).InvokeVerb() Exit For end if Next end if Next End Function </SCRIPT> </head> <body> <input type=button value="コンピュータ" onClick='Call OpenDesktopFile("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}")'> <input type=button value="コンピュータのプロパティ" onClick='Call OpenProp("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}")'> <br> <input type=button value="ネットワーク" onClick='Call OpenDesktopFile("::{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}")'> <input type=button value="ネットワークのプロパティ" onClick='Call OpenProp("::{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}")'> <br> <input type=button value="ごみ箱" onClick='Call OpenDesktopFile("::{645FF040-5081-101B-9F08-00AA002F954E}")'> <input type=button value="ごみ箱のプロパティ" onClick='Call OpenProp("::{645FF040-5081-101B-9F08-00AA002F954E}")'> <br> <input type=button value="コントロールパネル" onClick='Call OpenDesktopFile("::{26EE0668-A00A-44D7-9371-BEB064C98683}")'> <input type=button value="日付と時刻" onClick='Call ControlItemb("時計、言語、および地域", "日付と時刻")'> <input type=button value="個人設定" onClick='Call ControlItemb("デスクトップのカスタマイズ", "個人設定")'> </BODY> </html>
VBScriptドキュメント
|
【VBS + Shellの最新記事】
- VBScript を『管理者として実行する』には、Shell の runas ( 右クリックメニューの実行と同等 ) で実現します / Jscript も追加
- VBScript : キーストロークをウインドウに送信して、キー操作をした事にする( 例 : リモート デスクトップ接続ダイアログ )
- エクスプローラのフォルダから管理者権限でコマンドプロンプトを開く / 右クリックから『送る』で開く
- 管理者権限でコマンドプロンプトを開く VBScript をエクスプローラの右クリックで開く( そのフォルダで開く )方法
- シャットダウンダイアログを表示する / ログオフ・リブート・シャットダウン / VBScript
- Windows のファイルの『更新日付』のみ VBScript + Shell.Application で変更
- VBScript : プロパティダイアログを表示する
- VBScript : ファイルやフォルダを右クリックすると表示されるコマンド文字列の一覧を取得して、それを使ってコマンドを実行する
- Windows7 : VBScriptで、コントロールパネル内のエントリの実行
- シャットダウンダイアログを開くスクリプトと、シャットダウンするスクリプト
【VBScript関連のカテゴリ】