+++ /dev/null
-Option Explicit \r
-\r
-' vbslib ver3.00 Sep.22, 2009\r
-' Copyright (c) 2008-2009, T's-Neko at Sage Plaisir 21 (Japan)\r
-' All rights reserved. Based on 3-clause BSD license.\r
-\r
-\r
-'// Set g_vbslib_path=(this script full path) and g_vbslib_folder=(vbslib folder full path) before including this script.\r
-\r
-\r
-Dim g_vbslib_path, g_vbslib_folder\r
-Dim g_vbslib_ver_folder\r
-Dim g_debug_vbs_inc, g_debug_params\r
-Dim g_debug, g_debug_or_test, g_IncludePathes, g_CommandPrompt\r
-Dim g_b_cscript_exe, g_admin, g_curdir\r
-Dim g_sh, g_fs\r
-Dim g_f, g_i, g_err, g_path\r
-Dim g_ExitCode\r
-Dim g_cut_old\r
-Dim g_SrcPath : g_SrcPath = g_vbslib_path\r
-Dim g_vbslib_var, g_vbslib_var_break_symbol\r
-Dim g_FinalizeInModulesCaller\r
-Dim g_CUI\r
-\r
-If IsEmpty(g_vbslib_path) Then _\r
- Err.Raise 1,,"vbs_inc needs other script using vbslib header"\r
-\r
-If IsEmpty(g_vbslib_folder) Then _\r
- g_vbslib_folder = g_fs.GetParentFolderName( g_vbslib_path )\r
-g_vbslib_ver_folder = g_fs.GetParentFolderName( g_vbslib_path ) + "\"\r
-g_curdir = g_sh.CurrentDirectory\r
-\r
-'If IsEmpty(g_fs) Then Set g_fs = CreateObject( "Scripting.FileSystemObject" )\r
-'If IsEmpty(g_sh) Then Set g_sh = WScript.CreateObject("WScript.Shell")\r
-\r
-If Not IsEmpty( WScript.Arguments.Named("g_debug") ) Then g_debug = True\r
-g_debug_vbs_inc = Not IsEmpty( WScript.Arguments.Named("debug") )\r
-If IsEmpty( g_debug_or_test ) Then g_debug_or_test = g_debug\r
-\r
-Set g_vbslib_var = CreateObject("Scripting.Dictionary")\r
-\r
-\r
-'//=== Debug print command line parameters ....\r
-If (g_debug or g_debug_vbs_inc ) And (LCase( Right( WScript.FullName, 11 ) ) = "cscript.exe") Then\r
- echo_c_in_vbs_inc ">" + g_fs.GetFileName( WScript.FullName ) + " """ + WScript.ScriptFullName + """"\r
- echo_c_in_vbs_inc "CurrentDirectory = " + g_sh.CurrentDirectory\r
- For i = 0 to WScript.Arguments.Count - 1\r
- echo_c_in_vbs_inc "Arguments("&i&") = """+ WScript.Arguments(i) + """"\r
- Next\r
- echo_c_in_vbs_inc "g_vbslib_path = " + g_vbslib_path\r
-End If\r
-\r
-\r
-'//=== change to command prompt ...\r
-ChangeScriptMode\r
-\r
-\r
-\r
-\r
-'//=== Load setting script\r
-If g_debug or g_debug_vbs_inc Then echo_c_in_vbs_inc ">include setting folders"\r
-g_path = g_vbslib_ver_folder + "setting_default"\r
-If g_fs.FolderExists( g_path ) Then\r
- Set g_i = g_fs.GetFolder( g_path )\r
- For Each g_f in g_i.Files\r
- include g_f.Path\r
- Next\r
-End If\r
-g_path = g_sh.ExpandEnvironmentStrings( "%myhome_mem%\prog\vbslib\setting_mem" )\r
-If g_path <> "%myhome_mem%\prog\vbslib\setting_mem" Then\r
- If g_fs.FolderExists( g_path ) Then\r
- Set g_i = g_fs.GetFolder( g_path )\r
- For Each g_f in g_i.Files\r
- include g_f.Path\r
- Next\r
- End If\r
-End If\r
-g_path = g_sh.ExpandEnvironmentStrings( "%ProgramFiles%\vbslib\%USERNAME%\setting" )\r
-If g_fs.FolderExists( g_path ) Then\r
- Set g_i = g_fs.GetFolder( g_path )\r
- For Each g_f in g_i.Files\r
- include g_f.Path\r
- Next\r
-End If\r
-g_path = g_vbslib_ver_folder + "setting"\r
-If g_fs.FolderExists( g_path ) Then\r
- Set g_i = g_fs.GetFolder( g_path )\r
- For Each g_f in g_i.Files\r
- include g_f.Path\r
- Next\r
-End If\r
-g_i = Empty\r
-\r
-\r
-'//=== variables of innitialize/finalize\r
-Dim g_InitializeModule\r
-Redim g_InitializeModules(-1)\r
-Redim g_InitializeModules_VBSPath(-1)\r
-\r
-Dim g_FinalizeModule\r
-Dim g_FinalizeLevel\r
-Redim g_FinalizeModules(-1)\r
-Redim g_FinalizeLevels(-1)\r
-Redim g_FinalizeModules_VBSPath(-1)\r
-\r
-\r
-'//=== read and execute g_IncludePathes( )\r
-If not IsDefined( "Setting_getIncludePathes" ) Then _\r
- Err.Raise 1,,"Not defined ""Setting_getIncludePathes"" in SettingDefault.vbs or Setting.vbs"\r
-\r
-g_IncludePathes = Setting_getIncludePathes( Empty )\r
-\r
-If g_debug or g_debug_vbs_inc Then echo_c_in_vbs_inc ">include libraries by g_IncludePathes in vbs_inc_setting.vbs"\r
-For g_i = 0 To UBound( g_IncludePathes )\r
- If Not IsEmpty( g_IncludePathes(g_i) ) Then\r
-\r
- If g_debug or g_debug_vbs_inc Then echo_c_in_vbs_inc ">include """ + g_vbslib_ver_folder + g_IncludePathes(g_i) + """"\r
-\r
- '//=== set default value\r
- g_InitializeModule = Empty\r
- g_FinalizeModule = Empty\r
- g_FinalizeLevel = 100\r
-\r
-\r
- '//=== read and execute g_IncludePathes(g_i)\r
- On Error Resume Next\r
- Set g_f = g_fs.OpenTextFile( g_fs.GetAbsolutePathName( g_vbslib_ver_folder + g_IncludePathes(g_i) ) )\r
- g_err = Err.Number : On Error Goto 0\r
-\r
- If g_err <> 0 Then\r
- If g_err = 53 or g_err = 76 Then\r
- Err.Raise g_err, "Include path " + _\r
- g_fs.GetAbsolutePathName( g_vbslib_ver_folder + g_IncludePathes(g_i) ) + _\r
- " is not found. See " + g_vbslib_ver_folder + "vbs_inc_setting.vbs"\r
- Else\r
- Err.Raise g_err\r
- End If\r
- End If\r
-\r
- g_SrcPath = g_fs.GetAbsolutePathName( g_vbslib_ver_folder + g_IncludePathes(g_i) )\r
-\r
- If not g_debug Then\r
- On Error Resume Next\r
- Execute g_f.ReadAll()\r
- g_err = Err.Number : On Error Goto 0\r
- Else\r
- Execute "'// " + g_SrcPath +vbCRLF+ g_f.ReadAll()\r
- End If\r
-\r
- g_SrcPath = g_vbslib_path\r
-\r
- If g_err <> 0 Then\r
- If g_err = &h411 Then\r
- Err.Raise g_err, "Class, Member, Const name is duplicated in " + _\r
- g_fs.GetAbsolutePathName( g_vbslib_ver_folder + g_IncludePathes(g_i) )\r
- ElseIf g_err = &h3f7 Or g_err = &h400 Then\r
- Err.Raise g_err, "Syntax Error. Please double click " + _\r
- g_fs.GetAbsolutePathName( g_vbslib_ver_folder + g_IncludePathes(g_i) )\r
- Else\r
- Err.Raise g_err, "Error in including " + _\r
- g_fs.GetAbsolutePathName( g_vbslib_ver_folder + g_IncludePathes(g_i) )\r
- End If\r
- End If\r
-\r
-\r
- '//=== g_InitializeModules( ) <= g_InitializeModule\r
- '//=== g_InitializeModules_VBSPath( ) <= g_IncludePathes(g_i)\r
- If Not IsEmpty( g_InitializeModule ) Then\r
- Redim Preserve g_InitializeModules( UBound( g_InitializeModules ) + 1 )\r
- Set g_InitializeModules( UBound( g_InitializeModules ) ) = g_InitializeModule\r
- g_InitializeModule = Empty\r
-\r
- Redim Preserve g_InitializeModules_VBSPath( UBound( g_InitializeModules_VBSPath ) + 1 )\r
- g_InitializeModules_VBSPath( UBound( g_InitializeModules_VBSPath ) ) = g_IncludePathes(g_i)\r
- End If\r
-\r
-\r
- '//=== g_FinalizeModules( ) <= g_FinalizeModule\r
- If Not IsEmpty( g_FinalizeModule ) Then\r
- Redim Preserve g_FinalizeModules( UBound( g_FinalizeModules ) + 1 )\r
- Set g_FinalizeModules( UBound( g_FinalizeModules ) ) = g_FinalizeModule\r
- g_FinalizeModule = Empty\r
-\r
- Redim Preserve g_FinalizeModules_VBSPath( UBound( g_FinalizeModules_VBSPath ) + 1 )\r
- g_FinalizeModules_VBSPath( UBound( g_FinalizeModules_VBSPath ) ) = g_IncludePathes(g_i)\r
-\r
- Redim Preserve g_FinalizeLevels( UBound( g_FinalizeLevels ) + 1 )\r
- g_FinalizeLevels( UBound( g_FinalizeLevels ) ) = g_FinalizeLevel\r
- End If\r
-\r
- End If\r
-Next\r
-\r
-\r
-CallInitializeInModules\r
-\r
-Set g_FinalizeInModulesCaller = new FinalizeInModulesCaller\r
-\r
-\r
-g_SrcPath = Empty\r
-g_f = Empty\r
-\r
-\r
- \r
-'********************************************************************************\r
-' <<< [echo_c_in_vbs_inc] >>> \r
-'********************************************************************************\r
-Sub echo_c_in_vbs_inc( Message )\r
- If g_CommandPrompt <> 0 Then WScript.Echo Message\r
-End Sub\r
- \r
-'********************************************************************************\r
-' <<< [ChangeScriptMode] >>> \r
-'********************************************************************************\r
-Sub ChangeScriptMode\r
- Dim c_debug, c_admin, b_vista_admin\r
- Dim cmd, exe, host, host_opt, script, params, opt, exit_cmd, host_end\r
- Dim b_close_finish, i, key, directory, window_style\r
-\r
- '//=== Set default\r
- If IsEmpty(g_debug) Then g_debug = False\r
- If IsEmpty(g_CommandPrompt) Then g_CommandPrompt = True\r
- window_style = 1\r
-\r
- '//=== Get status\r
- g_b_cscript_exe = (LCase( Right( WScript.FullName, 11 ) ) = "cscript.exe")\r
- c_debug = Not IsEmpty( WScript.Arguments.Named("debug") )\r
- c_admin = Not IsEmpty( WScript.Arguments.Named("admin") )\r
- ' g_debug\r
- If Not IsEmpty( WScript.Arguments.Named("g_debug") ) Then g_debug=True:c_debug=True\r
- If g_debug=1 Then g_debug=True\r
- If g_debug=0 Then g_debug=False\r
- ' b_close_finish\r
- If (g_CommandPrompt and 4) = 4 Then window_style = 7\r
- If (g_CommandPrompt and 3) = 2 Then b_close_finish = False\r
- If (g_CommandPrompt and 3) = 1 Then b_close_finish = True\r
- If (g_CommandPrompt and 3) = 0 Then b_close_finish = False\r
- g_admin = ( g_admin <> 0 )\r
-\r
-\r
- '//=== Make command line\r
- directory = g_sh.CurrentDirectory\r
- If g_CommandPrompt > 0 Then\r
- If g_admin Then\r
- exe = "cmd"\r
- host = "cmd /K (cd /d """ + directory + """ & cscript //nologo"\r
- host_end = ")"\r
- Else\r
- exe = "cmd"\r
- host = "cmd /K (cscript //nologo"\r
- host_end = ")"\r
- End If\r
- Else\r
- '//If IsEmpty( g_curdir ) Then directory = g_sh.CurrentDirectory Else directory = g_curdir\r
- exe = "wscript"\r
- host = "wscript"\r
- host_end = ""\r
- End If\r
-\r
- If g_debug Then\r
- host_opt = " //x"\r
- Else\r
- host_opt = ""\r
- End If\r
-\r
-'// If g_CommandPrompt > 0 Then\r
-'// script = " """ + g_fs.GetFileName( WScript.ScriptFullName ) + """"\r
-'// Else\r
- script = " """ + WScript.ScriptFullName + """"\r
-'// End If\r
-\r
- params=""\r
- For i=0 To WScript.Arguments.Count - 1\r
- If InStr( WScript.Arguments(i), " " ) = 0 Then\r
- params=params+" "+WScript.Arguments(i)\r
- Else\r
- params=params+" """+WScript.Arguments(i)+""""\r
- End If\r
- Next\r
- If not IsEmpty( g_debug_params ) Then\r
- params=params+" "+g_debug_params\r
- End If\r
-\r
- If g_debug Then\r
- opt = " /debug:1"\r
- Else\r
- opt = ""\r
- End If\r
-\r
- If g_admin Then\r
- opt = opt + " /admin:1"\r
- End If\r
-\r
- If b_close_finish Then\r
- exit_cmd = " & if errorlevel 21 exit"\r
- Else\r
- exit_cmd = ""\r
- End If\r
-\r
-\r
- '//=== Start\r
- If g_b_cscript_exe<>(g_CommandPrompt>0) or c_debug<>g_debug or c_admin<>g_admin Then\r
-\r
- cmd = host + host_opt + script + params + opt + exit_cmd + host_end\r
-\r
- If g_admin and ( GetOSVersion() >= 6.0 ) Then\r
-\r
- '// Run as administrator on Windows Vista\r
- Dim sh_ap\r
- Set sh_ap = CreateObject( "Shell.Application" )\r
- sh_ap.ShellExecute exe, Mid( cmd, Len(exe)+2 ), directory, "runas", window_style\r
- Else\r
-\r
- '// Change to runas command\r
- If g_admin Then\r
- i = g_sh.ExpandEnvironmentStrings("%ProgramFiles%\vbslib\%USERNAME%\setting\account_setting.vbs")\r
- If g_fs.FileExists( i ) Then include i\r
- If IsDefined( "Setting_getAdminUserName" ) Then\r
- i = Setting_getAdminUserName()\r
- If MsgBox( "Do you start as Administrator user?" + vbCRLF + "user: " + i + vbCRLF +_\r
- "command: " +WScript.ScriptFullName + " " + params,_\r
- vbOKCancel, "Warning: " & WScript.ScriptName ) <> vbOK Then WScript.Quit 1\r
- If not IsEmpty( i ) Then cmd = "runas /user:" + i + " """ + Replace( cmd, """", "\""" )+""""\r
- End If\r
- End If\r
-\r
- '// Run the command\r
- '// g_sh.CurrentDirectory = directory\r
- Stop\r
-'// g_sh.Run cmd, window_style, Not IsEmpty(WScript.Arguments.Named.Item("waitfin"))\r
- g_sh.Run cmd, window_style, True\r
- End If\r
-\r
- WScript.Quit 0\r
- End If\r
-End Sub\r
-\r
-\r
- \r
-'********************************************************************************\r
-' <<< [CallInitializeInModules] >>> \r
-'********************************************************************************\r
-Sub CallInitializeInModules\r
- Dim i\r
-\r
- For i = 0 To UBound( g_InitializeModules )\r
- g_InitializeModules( i )( g_InitializeModules_VBSPath( i ) )\r
- Next\r
-End Sub\r
-\r
-\r
- \r
-'********************************************************************************\r
-' <<< [CallFinalizeInModules] >>> \r
-'********************************************************************************\r
-Sub CallFinalizeInModules( Reason )\r
- Dim i, min_lv, min_over_lv, b\r
- Const limit=999999999\r
-\r
- min_over_lv = -limit\r
- Do\r
- min_lv = limit\r
- For i = 0 To UBound( g_FinalizeModules )\r
- If g_FinalizeLevels( i ) < min_lv And g_FinalizeLevels( i ) > min_over_lv Then _\r
- min_lv = g_FinalizeLevels( i )\r
- Next\r
- If min_lv = limit Then Exit Do\r
-\r
- For i = 0 To UBound( g_FinalizeModules )\r
- If g_FinalizeLevels( i ) = min_lv Then _\r
- Call g_FinalizeModules( i )( g_FinalizeModules_VBSPath( i ), Reason )\r
- Next\r
- min_over_lv = min_lv\r
- Loop\r
- g_FinalizeInModulesCaller.m_bDisableCall = True\r
-\r
-\r
- Const Pass_Num = 21, Skip_Num = 22\r
- Dim exit_code\r
-\r
- If Err.Number = Pass_Num Then\r
- exit_code = Pass_Num\r
- ElseIf Err.Number <> 0 Then\r
- If Left( Err.Description, 1 ) = "<" or Err.Number = Skip_Num Then\r
- WScript.Echo Err.Description\r
- Else\r
- WScript.Echo GetErrStr( Err.Number, Err.Description )\r
- End If\r
- If g_CommandPrompt = 1 Then\r
-\r
- If not IsEmpty( g_CUI ) Then\r
- While Left( g_CUI.m_Auto_Keys, 1 ) <> "" and _\r
- Left( g_CUI.m_Auto_Keys, 1 ) <> "."\r
- g_CUI.m_Auto_Keys = Mid( g_CUI.m_Auto_Keys, 2 )\r
- WEnd\r
- End If\r
-\r
- b = False\r
- If not IsEmpty( g_CUI ) Then\r
- If Left( g_CUI.m_Auto_Keys, 1 ) = "." Then\r
- If not IsEmpty( WScript.Arguments.Named.Item("GUI_input") ) Then _\r
- WScript.StdOut.WriteLine "<WARNING msg='\83G\83\89\81[\82ª\94\90¶\82µ\82½\83v\83\8d\83Z\83X\82Í\8bN\93®\82µ\82½\82Æ\82«\82Ì\83v\83\8d\83Z\83X\82Æ\88Ù\82È\82è\82Ü\82·' current_vbs='" + _\r
- WScript.ScriptFullName +"'/>"\r
- WScript.StdOut.Write "\8fI\97¹\82·\82é\82É\82Í Enter \83L\81[\82ð\89\9f\82µ\82Ä\82\82¾\82³\82¢ . . . "\r
- g_CUI.m_Auto_Keys = Mid( g_CUI.m_Auto_Keys, 2 )\r
- b = True\r
- End If\r
- End If\r
- If not b Then\r
- If IsEmpty( WScript.Arguments.Named.Item("GUI_input") ) Then\r
- WScript.StdOut.Write "\8fI\97¹\82·\82é\82É\82Í Enter \83L\81[\82ð\89\9f\82µ\82Ä\82\82¾\82³\82¢ . . . "\r
- Wscript.StdIn.ReadLine\r
- Else\r
- WScript.StdOut.WriteLine "<WARNING msg='\83G\83\89\81[\82ª\94\90¶\82µ\82½\83v\83\8d\83Z\83X\82Í\8bN\93®\82µ\82½\82Æ\82«\82Ì\83v\83\8d\83Z\83X\82Æ\88Ù\82È\82è\82Ü\82·' current_vbs='" + _\r
- WScript.ScriptFullName +"'/>"\r
- WScript.StdOut.Write "\8fI\97¹\82·\82é\82É\82Í Enter \83L\81[\82ð\89\9f\82µ\82Ä\82\82¾\82³\82¢ . . . "\r
- MsgBox "\8fI\97¹\82·\82é\82É\82Í Enter \83L\81[\82ð\89\9f\82µ\82Ä\82\82¾\82³\82¢ . . . "\r
- End If\r
- End If\r
- End If\r
- exit_code = Err.Number\r
- Else\r
- exit_code = Pass_Num\r
- If not IsEmpty( g_ExitCode ) Then exit_code = g_ExitCode\r
- End If\r
-\r
- If g_debug Then\r
- WScript.Echo "exit code = " & exit_code & vbCRLF & _\r
- "(but now exit code = 0 with debugger.)"\r
- Exit Sub '// WScript.Quit occurs unknown error with debugger\r
- Else\r
- WScript.Quit exit_code ' If error was raised here, WSH-exe return is zero only.\r
- End If\r
-End Sub\r
-\r
-\r
- \r
-'********************************************************************************\r
-' <<< [FinalizeInModulesCaller] >>> \r
-'********************************************************************************\r
-Class FinalizeInModulesCaller\r
- Public m_bDisableCall\r
- Private Sub Class_Terminate()\r
- If IsEmpty( m_bDisableCall ) and Err.Number <> &h8004FFFD Then 'h8004FFFD=WScript.Quit\r
- Const Pass_Num = 21, Skip_Num = 22\r
- If Err.Number = Pass_Num or Err.Number = Skip_Num Then CallFinalizeInModules 0 _\r
- Else CallFinalizeInModules 1\r
- End If\r
- End Sub\r
-End Class\r
-\r
- \r
-'********************************************************************************\r
-' <<< [ResumePush] >>> \r
-'********************************************************************************\r
-Function ResumePush\r
- ResumePush = ( g_debug = 0 )\r
- '// If error occured, WSH process returns 0.\r
- '// ResumePop catches error for returning error code.\r
-End Function\r
-\r
-\r
- \r
-'********************************************************************************\r
-' <<< [ResumePop] >>> \r
-'********************************************************************************\r
-Function ResumePop\r
- Const Pass_Num = 21\r
- If Err.Number = 0 or Err.Number = Pass_Num Then\r
- CallFinalizeInModules 0\r
- Else\r
- CallFinalizeInModules 1\r
- End If\r
-End Function\r
-\r
-\r
- \r
-'********************************************************************************\r
-' <<< [GetErrStr] >>> \r
-'********************************************************************************\r
-Function GetErrStr( en, ed )\r
- If en = 0 Then\r
- GetErrStr = "no error"\r
- ElseIf en = 21 Then\r
- GetErrStr = "[Pass]"\r
- ElseIf en > 0 And en <= &h7FFF Then\r
- GetErrStr = "<ERROR err_number='" & en & "' err_description='" & ed & "'/>"\r
- Else\r
- GetErrStr = "<ERROR err_number='0x" & Hex(en) & "' err_description='" & ed & "'/>"\r
- End If\r
-End Function\r
-\r
-\r
- \r
-'********************************************************************************\r
-' <<< [SetVar] >>> \r
-'********************************************************************************\r
-Sub SetVar( Symbol, Value )\r
- echo ">SetVar """ + Symbol + """, """ & Value & """"\r
- If Symbol = g_vbslib_var_break_symbol Then Stop '// Look at then caller function using watch window of debugger\r
- g_vbslib_var.Item( Symbol ) = Value\r
-End Sub\r
-\r
-\r
- \r
-'********************************************************************************\r
-' <<< [GetVar] >>> \r
-'********************************************************************************\r
-Function GetVar( Symbol )\r
- GetVar = g_vbslib_var.Item( Symbol )\r
- If IsEmpty( GetVar ) Then GetVar = g_sh.ExpandEnvironmentStrings( "%"+Symbol+"%" )\r
- If InStr( GetVar, "%" ) > 0 Then GetVar = Empty\r
-\r
- If Symbol = g_vbslib_var_break_symbol Then Stop '// Look at then caller function using watch window of debugger\r
-End Function\r
-\r
-\r
- \r
-'********************************************************************************\r
-' <<< [SetVarBreak] >>> \r
-'********************************************************************************\r
-Sub SetVarBreak( Symbol, Opt )\r
- g_vbslib_var_break_symbol = Symbol\r
-\r
- Dim sym2 : sym2 = "%"+Symbol+"%"\r
- Dim value : value = g_sh.ExpandEnvironmentStrings( sym2 )\r
- If value <> sym2 Then _\r
- Stop '// (Symbol) OS environment variable is already defined.\r
-\r
- value = g_vbslib_var.Item( Symbol )\r
- If not IsEmpty( value ) Then _\r
- Stop '// (Symbol) vbslib variable is already defined.\r
-End Sub\r
-\r
-\r
- \r
-'********************************************************************************\r
-' <<< [IsDefined] >>> \r
-'********************************************************************************\r
-Function IsDefined( Symbol )\r
- Dim en\r
-\r
- On Error Resume Next\r
- Call GetRef( Symbol )\r
- en = Err.Number : On Error GoTo 0\r
-\r
- IsDefined = ( en <> 5 )\r
-End Function\r
-\r
-\r
- \r
-'********************************************************************************\r
-' <<< [GetOSVersion] >>> \r
-'********************************************************************************\r
-Function GetOSVersion()\r
-\r
- '// Get OS Version from cimv2 of WMI\r
- Dim cimv2 : Set cimv2 = GetObject( "winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")\r
- Dim os : Set os = cimv2.ExecQuery( "SELECT * FROM Win32_OperatingSystem" )\r
- Dim v, ver\r
- For Each v in os\r
- ver = v.Version\r
- Next\r
- cimv2 = Empty : os = Empty : v = Empty\r
-\r
- '// Cut build number\r
- Dim i\r
- i = InStr( ver, "." )\r
- i = InStr( i+1, ver, "." )\r
- GetOSVersion = CDbl( Left( ver, i-1 ) )\r
-End Function\r
-\r
-\r
- \r
-'********************************************************************************\r
-' <<< [GetExistPathInSetting] >>> \r
-'********************************************************************************\r
-Function GetExistPathInSetting( Pathes, SettingFuncName )\r
- Dim i, t\r
- For i=0 To UBound( Pathes )\r
- If g_fs.FileExists( Pathes(i) ) Then\r
- GetExistPathInSetting = g_fs.GetAbsolutePathName(Pathes(i)) '// set to same as Big/Little case\r
- Exit Function\r
- End If\r
- Next\r
- t = "" : For i=0 To UBound( Pathes ) : t = t + vbCrLf + " " + Pathes(i) : Next\r
- Err.Raise 1,, SettingFuncName + " \82Å\90Ý\92è\82µ\82Ä\82¢\82é\88È\89º\82Ì\82¢\82¸\82ê\82©\82Ì\83t\83@\83C\83\8b\82ª\8c©\82Â\82©\82è\82Ü\82¹\82ñ\81B" + _\r
- " \81i\8eQ\8dl\81Fvbslib \82Ì\90à\96¾\8f\91\82Ì setting \83t\83H\83\8b\83_\81j" + t\r
-End Function\r
-\r
-\r
- \r
-'********************************************************************************\r
-' <<< [include] >>> \r
-'********************************************************************************\r
-Sub include( ByVal path )\r
- Dim f, en,ed, current\r
-\r
- If g_debug or g_debug_vbs_inc Then echo_c_in_vbs_inc ">include """ + path + """"\r
-\r
- path = g_sh.ExpandEnvironmentStrings( path )\r
-\r
- If InStr( path, "*" ) > 0 Then include_objs path, Empty, Empty : Exit Sub\r
- If g_fs.FolderExists( path ) Then include_objs path, Empty, Empty : Exit Sub\r
-\r
- current = g_sh.CurrentDirectory\r
- g_SrcPath = g_fs.GetAbsolutePathName( path )\r
- If path <> g_fs.GetFileName( path ) Then\r
- if not g_fs.FileExists( path ) Then _\r
- Err.Raise 2,, "include: Not found """ + path + """ current=""" + g_sh.CurrentDirectory +""""\r
- g_sh.CurrentDirectory = g_fs.GetParentFolderName( g_fs.GetAbsolutePathName( path ) )\r
- End If\r
-\r
- On Error Resume Next\r
- Set f = g_fs.OpenTextFile( g_fs.GetFileName( path ) )\r
- en = Err.Number : ed = Err.Description : On Error GoTo 0\r
- If en <> 0 Then Err.Raise en,,ed + " in include( " + path + " )"\r
- If g_debug=0 Then\r
- On Error Resume Next\r
- ExecuteGlobal f.ReadAll()\r
- g_sh.CurrentDirectory = current\r
- en = Err.Number : ed = Err.Description : On Error GoTo 0\r
- If en=&h411 Then en = 0 '// &h411=Symbol Overrided\r
- If en <> 0 Then Err.Raise en,,ed + " in include( " + path + " )." + _\r
- " Please double click the vbs file, if syntax error occured."\r
- Else\r
- Dim t : t = "'// " + g_SrcPath +vbCRLF+ f.ReadAll() : f.Close : ExecuteGlobal t\r
- g_sh.CurrentDirectory = current\r
- End If\r
- g_SrcPath = Empty\r
-End Sub\r
- \r