◆ [VBScript] 右クリックメニューのカスタマイズ 他
こんばんワイン。どーもボキです。

ファイルやフォルダを右クリックした際に表示されるメニューをカスタマイズするスクリプト。
出来ることは以下。
a0021757_2243191.gif
実行結果イメージ
ファイル 右クリックメニュー
 ・選択ファイルの親フォルダ基準ででエクスプローラを開く
 ・選択ファイルの親フォルダ基準でコマンドプロンプトを開く

フォルダ 右クリックメニュー
 ・選択ファイルの親フォルダ基準ででエクスプローラを開く
 ・選択ファイルの親フォルダ基準でコマンドプロンプトを開く

拡張子がないファイルのテキストファイル関連付け

(サクラエディタがインストール済みの場合、以下をサクラエディタに関連付け)
 ・全ファイルの右クリックメニューにサクラエディタで編集を追加
 ・IEのソースエディタ
 ・VBScriptの編集エディタ
Set objWS = WScript.CreateObject("WScript.Shell")
Set objFS = CreateObject("Scripting.FileSystemObject")

' サクラエディタのインストールパス
cmd = "サクラエディタで開く"
fpth = ""
On Error Resume Next ' 未インストールへの対応 (RegReadでエラーになる)
s = Replace(objWS.RegRead("HKEY_CLASSES_ROOT\Applications\sakura.exe\shell\open\command\"),"""","",1,-1,1)
fpth = Left(s,InStr(s,"
%1")-1)
On Error GoTo 0

' エディタのパスを設定
If Not objFS.FileExists(fpth) Then
cmd = "
メモ帳で開く"
fpth = "
notepad"
End If
'--------------------------------------------------------------------------------------------------------
' ファイル 右クリメニュー
root = "
HKEY_CLASSES_ROOT\*\shell\"

key = root & cmd & "
\"
val = cmd & "
(&E)"
r = objWS.RegWrite(key, val, "
REG_SZ")
key = key & "
command\"
val = "
""" & fpth &""" ""%1"""
r = objWS.RegWrite(key, val, "
REG_SZ")

cmd = "
エクスプローラ"
key = root & cmd & "
\"
val = cmd & "
(&X)"
r = objWS.RegWrite(key, val, "
REG_SZ")
key = key & "
command\"
val = "
explorer /e , ""%1\.."""
r = objWS.RegWrite(key, val, "
REG_SZ")

cmd = "
エクスプローラ (このフォルダ基準)"
key = root & cmd & "
\"
val = cmd & "
(&X)"
r = objWS.RegWrite(key, val, "
REG_SZ")
key = key & "
command\"
val = "
explorer /e ,/root, ""%1\.."""
r = objWS.RegWrite(key, val, "
REG_SZ")

cmd = "
コマンドプロンプトを開く"
key = root & cmd & "
\"
val = cmd & "
(&W)"
r = objWS.RegWrite(key, val, "
REG_SZ")
key = key & "
command\"
val = "
cmd.exe /k ""cd %1\.."""
r = objWS.RegWrite(key, val, "
REG_SZ")

'--------------------------------------------------------------------------------------------------------
' フォルダ 右クリメニュー
root = "
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\"

cmd = "
エクスプローラ (このフォルダ基準)"
key = root & cmd & "
\"
val = cmd & "
(&X)"
r = objWS.RegWrite(key, val, "
REG_SZ")
key = key & "
command\"
val = "
explorer /e ,/root, ""%1"""
r = objWS.RegWrite(key, val, "
REG_SZ")

cmd = "
コマンドプロンプトを開く"
key = root & cmd & "
\"
val = cmd & "
(&W)"
r = objWS.RegWrite(key, val, "
REG_SZ")
key = key & "
command\"
val = "
cmd.exe /k ""cd %1"""
r = objWS.RegWrite(key, val, "
REG_SZ")

'--------------------------------------------------------------------------------------------------------
' 拡張子のないファイルを関連付け
fpth_bat = objFS.GetSpecialFolder(2) &"
\tmp.bat"
Set txt = objFS.OpenTextFile(fpth_bat,2,True)
txt.WriteLine "
assoc .=txtfile"
txt.Close
r = objWS.Run(fpth_bat,0,True)
objFS.DeleteFile(fpth_bat)

If fpth = "
notepad" Then WScript.Quit

' IEソース表示エディタの変更
key = "
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\View Source Editor\Editor Name\"
val = fpth
r = objWS.RegWrite(key, val, "
REG_SZ")

' テキストの編集用エディタを変更
key = "
HKEY_CLASSES_ROOT\txtfile\Shell\Edit\command\"
val = fpth & "
%1"
r = objWS.RegWrite(key, val, "
REG_SZ")

' VBScriptの編集用エディタを変更
key = "
HKEY_CLASSES_ROOT\VBSFile\Shell\Edit\command\"
val = fpth & "
%1"
r = objWS.RegWrite(key, val, "
REG_SZ")



[PR]
by yozda | 2012-06-25 22:08 | プログラミング | Trackback | Comments(0)
トラックバックURL : http://yozda.exblog.jp/tb/15638729
トラックバックする(会員専用) [ヘルプ]
<< JiNSのJiNS PCを買った 6回目の車検 >>