Option Explicit ' vbslib ver3.00 Sep.22, 2009 ' Copyright (c) 2008-2009, T's-Neko at Sage Plaisir 21 (Japan) ' All rights reserved. Based on 3-clause BSD license. Dim g_SrcPath Dim g_System_Path g_System_Path = g_SrcPath Dim g_reg '******************************************************************************** ' <<< [RegExport] >>> '******************************************************************************** Sub RegExport( ByVal RegPath, OutFilePath, Opt ) Dim keys, key, f If Right( RegPath, 1 ) = "\" Then RegPath = Left( RegPath, Len( RegPath ) - 1 ) RegEnumKey RegPath, keys, Opt Set f = g_fs.CreateTextFile( OutFilePath, True, True ) f.WriteLine "Windows Registry Editor Version 5.00" RegExport_sub RegPath, f For Each key In keys RegExport_sub key, f Next End Sub Sub RegExport_sub( RegPath, f ) Dim values, value f.WriteLine "" f.WriteLine "[" + RegPath + "]" RegEnumValues RegPath, values For Each value In values Select Case value.Type_ Case "REG_SZ" f.WriteLine """" + value.Name + """=""" + _ g_sh.RegRead( RegPath +"\"+ value.Name ) + """" Case Else Err.Raise E_Unexpected End Select Next f.WriteLine "" End Sub '******************************************************************************** ' <<< [RegWrite] >>> '******************************************************************************** Sub RegWrite( Path, Value, Type_ ) Dim e If TryStart(e) Then On Error Resume Next g_sh.RegWrite Path, Value, Type_ If TryEnd Then On Error GoTo 0 If e.num = &h80070005 or e.num = 70 Then e.OverRaise 70, "レジストリへのアクセスが拒否されました。:" & Path End If If e.num <> 0 Then e.Raise End Sub '******************************************************************************** ' <<< [RegWriteOpenExt] >>> '******************************************************************************** Sub RegWriteOpenExt( Ext, KeyName, Explain, Command, Opt ) RegWrite "HKEY_CLASSES_ROOT\"+Ext+"\", KeyName, "REG_SZ" RegWrite "HKEY_CLASSES_ROOT\"+KeyName+"\", Explain, "REG_SZ" RegWrite "HKEY_CLASSES_ROOT\"+KeyName+"\shell\open\command\", Command, "REG_SZ" End Sub '******************************************************************************** ' <<< [RegWriteAsterExt] >>> '******************************************************************************** Sub RegWriteAsterExt( KeyName, Caption, Command, Opt ) RegWrite "HKEY_CLASSES_ROOT\*\shell\"+KeyName+"\", Caption, "REG_SZ" RegWrite "HKEY_CLASSES_ROOT\*\shell\"+KeyName+"\command\", Command, "REG_SZ" End Sub