OSDN Git Service

Version 3.00
[vbslib/main.git] / _src / Test / vbslib_test / vbslib / vbslib300 / System.vbs
1 Option Explicit \r
2 \r
3 ' vbslib  ver3.00  Sep.22, 2009\r
4 ' Copyright (c) 2008-2009, T's-Neko at Sage Plaisir 21 (Japan)\r
5 ' All rights reserved. Based on 3-clause BSD license.\r
6 \r
7 Dim  g_SrcPath\r
8 Dim  g_System_Path\r
9      g_System_Path = g_SrcPath\r
10 \r
11 Dim  g_reg\r
12 \r
13  \r
14 '********************************************************************************\r
15 '  <<< [RegExport] >>> \r
16 '********************************************************************************\r
17 Sub  RegExport( ByVal RegPath, OutFilePath, Opt )\r
18   Dim  keys, key, f\r
19 \r
20   If Right( RegPath, 1 ) = "\" Then  RegPath = Left( RegPath, Len( RegPath ) - 1 )\r
21 \r
22   RegEnumKey  RegPath, keys, Opt\r
23 \r
24   Set f = g_fs.CreateTextFile( OutFilePath, True, True )\r
25   f.WriteLine  "Windows Registry Editor Version 5.00"\r
26 \r
27   RegExport_sub  RegPath, f\r
28   For Each  key  In keys\r
29     RegExport_sub  key, f\r
30   Next\r
31 End Sub\r
32 \r
33 \r
34 Sub  RegExport_sub( RegPath, f )\r
35   Dim  values, value\r
36 \r
37   f.WriteLine  ""\r
38   f.WriteLine  "[" + RegPath + "]"\r
39 \r
40   RegEnumValues  RegPath, values\r
41 \r
42   For Each  value  In values\r
43     Select Case  value.Type_\r
44 \r
45      Case "REG_SZ"\r
46       f.WriteLine  """" + value.Name + """=""" + _\r
47         g_sh.RegRead( RegPath +"\"+ value.Name ) + """"\r
48 \r
49      Case Else  Err.Raise  E_Unexpected\r
50     End Select\r
51   Next\r
52   f.WriteLine ""\r
53 End Sub\r
54 \r
55 \r
56  \r
57 '********************************************************************************\r
58 '  <<< [RegWrite] >>> \r
59 '********************************************************************************\r
60 Sub  RegWrite( Path, Value, Type_ )\r
61   Dim  e\r
62   If TryStart(e) Then  On Error Resume Next\r
63     g_sh.RegWrite  Path, Value, Type_\r
64   If TryEnd Then  On Error GoTo 0\r
65   If e.num = &h80070005 or e.num = 70 Then\r
66     e.OverRaise 70, "\83\8c\83W\83X\83g\83\8a\82Ö\82Ì\83A\83N\83Z\83X\82ª\8b\91\94Û\82³\82ê\82Ü\82µ\82½\81B:" & Path\r
67   End If\r
68   If e.num <> 0 Then  e.Raise\r
69 End Sub\r
70  \r
71 '********************************************************************************\r
72 '  <<< [RegWriteOpenExt] >>> \r
73 '********************************************************************************\r
74 Sub  RegWriteOpenExt( Ext, KeyName, Explain, Command, Opt )\r
75   RegWrite  "HKEY_CLASSES_ROOT\"+Ext+"\", KeyName, "REG_SZ"\r
76   RegWrite  "HKEY_CLASSES_ROOT\"+KeyName+"\", Explain, "REG_SZ"\r
77   RegWrite  "HKEY_CLASSES_ROOT\"+KeyName+"\shell\open\command\", Command, "REG_SZ"\r
78 End Sub\r
79  \r
80 '********************************************************************************\r
81 '  <<< [RegWriteAsterExt] >>> \r
82 '********************************************************************************\r
83 Sub  RegWriteAsterExt( KeyName, Caption, Command, Opt )\r
84   RegWrite  "HKEY_CLASSES_ROOT\*\shell\"+KeyName+"\", Caption, "REG_SZ"\r
85   RegWrite  "HKEY_CLASSES_ROOT\*\shell\"+KeyName+"\command\", Command, "REG_SZ"\r
86 End Sub\r
87 \r
88  \r