16 |
' http://www.dotnet247.com/247reference/msgs/18/93960.aspx |
' http://www.dotnet247.com/247reference/msgs/18/93960.aspx |
17 |
|
|
18 |
Public RasEntries As New Collection |
Public RasEntries As New Collection |
19 |
|
Public ConnectionName As String |
20 |
|
Public ConnectionOnline As Boolean |
21 |
|
Public ScriptName_Up As String, ScriptName_Down As String |
22 |
|
|
23 |
Sub Main() |
Sub Main() |
24 |
|
|
62 |
ElseIf cmdline.hasSwitch("script") And success = True Then |
ElseIf cmdline.hasSwitch("script") And success = True Then |
63 |
script_name = cmdline.getArgument("script") |
script_name = cmdline.getArgument("script") |
64 |
If script_name <> "" Then |
If script_name <> "" Then |
65 |
script_args = Chr(34) & DetermineClientIP() & Chr(34) & " " & Chr(34) & DetermineServerIP & Chr(34) |
script_args = Chr(34) & DetermineClientIP(conName) & Chr(34) & " " & Chr(34) & DetermineServerIP(conName) & Chr(34) |
66 |
Shell App.Path & "\" & script_name & " " & script_args, vbHide |
Shell App.Path & "\" & script_name & " " & script_args, vbHide |
67 |
End If |
End If |
68 |
'End If |
'End If |
88 |
End If |
End If |
89 |
|
|
90 |
End If |
End If |
91 |
|
|
92 |
|
' monitor |
93 |
|
ElseIf cmdline.hasSwitch("monitor") Then |
94 |
|
conName = cmdline.getArgument("monitor") |
95 |
|
If conName <> "" Then |
96 |
|
|
97 |
|
If cmdline.hasSwitch("up") Then |
98 |
|
ScriptName_Up = cmdline.getArgument("up") |
99 |
|
End If |
100 |
|
|
101 |
|
If cmdline.hasSwitch("down") Then |
102 |
|
ScriptName_Down = cmdline.getArgument("down") |
103 |
|
End If |
104 |
|
|
105 |
|
'Set rasItem = RasEntries(conName) |
106 |
|
'RasRetrieveConnectionHandler conName |
107 |
|
ConnectionName = conName |
108 |
|
ConnectionOnline = RasIsOnline(conName) |
109 |
|
MonitorRASStatusAsync |
110 |
|
End If |
111 |
|
|
112 |
End If |
End If |
113 |
|
|
114 |
'End If |
'End If |
138 |
Next i |
Next i |
139 |
|
|
140 |
End Sub |
End Sub |
141 |
|
|
142 |
|
' callback from MonitorRASStatusAsync |
143 |
|
Public Sub detectOnlineOfflineChange() |
144 |
|
Dim newState As Boolean |
145 |
|
Dim script_name As String, script_args As String |
146 |
|
Dim cmd As String |
147 |
|
|
148 |
|
newState = RasIsOnline(ConnectionName) |
149 |
|
|
150 |
|
If ConnectionOnline <> newState Then |
151 |
|
'MsgBox newState |
152 |
|
|
153 |
|
' connection goes online |
154 |
|
If newState = True Then |
155 |
|
If ScriptName_Up <> "" Then |
156 |
|
script_name = ScriptName_Up |
157 |
|
End If |
158 |
|
|
159 |
|
' connection goes offline |
160 |
|
Else |
161 |
|
If ScriptName_Down <> "" Then |
162 |
|
script_name = ScriptName_Down |
163 |
|
End If |
164 |
|
|
165 |
|
End If |
166 |
|
|
167 |
|
If script_name <> "" Then |
168 |
|
script_args = Chr(34) & DetermineClientIP(ConnectionName) & Chr(34) & " " & Chr(34) & DetermineServerIP(ConnectionName) & Chr(34) |
169 |
|
cmd = App.Path & "\" & script_name & " " & script_args |
170 |
|
'MsgBox cmd |
171 |
|
On Error Resume Next |
172 |
|
Shell cmd, vbHide |
173 |
|
On Error GoTo 0 |
174 |
|
End If |
175 |
|
|
176 |
|
ConnectionOnline = newState |
177 |
|
End If |
178 |
|
End Sub |