home *** CD-ROM | disk | FTP | other *** search
- ' Przyk│adowy skrypt dla Hosta skrypt≤w systemu Windows
- '
- ' ------------------------------------------------------------------------
- ' Copyright (C) 1996 Microsoft Corporation
- '
- ' Klient posiada pe│ne prawa do u┐ywania, modyfikowania, reprodukowania
- ' i dystrybucji plik≤w przyk│adowych aplikacji (i/lub dowolnej
- ' ich zmodyfikowanej wersji), w spos≤b dla niego u┐yteczny, pod warunkiem
- ' zaakceptowania faktu, i┐ firma Microsoft nie zapewnia gwarancji i nie
- ' ponosi odpowiedzialno£ci za pliki przyk│adowych aplikacji.
- ' ------------------------------------------------------------------------
- '
- ' Ten przyk│ad pokazuje, w jaki spos≤b u┐ywaµ obiektu WshNetwork.
- ' Odczytuje on w│a£ciwo£ci sieci (nazwa u┐ytkownika i nazwa sieci),
- ' │╣czy, roz│╣cza, i przelicza dyski sieciowe w oparciu o wyb≤r
- ' u┐ytkownika.
-
- L_Welcome_MsgBox_Message_Text = "Ten przyk│ad pokazuje, w jaki spos≤b u┐ywaµ obiektu WshNetwork."
- L_Welcome_MsgBox_Title_Text = "Przyk│adowy skrypt dla Hosta skrypt≤w systemu Windows"
- Call Welcome()
-
- ' ********************************************************************************
- ' *
- ' * Obiekt WSH Network.
- ' *
-
- Dim WSHNetwork
- Dim colDrives, SharePoint
- Dim CRLF
-
- CRLF = Chr(13) & Chr(10)
- Set WSHNetwork = WScript.CreateObject("WScript.Network")
-
-
- Function Ask(strAction)
-
- ' Ta funkcja zapytuje u┐ytkownika czy przeprowadziµ specyficzn╣ akcjΩ
- ' ("Action") i ustawia kod powrotu, lub przerywa wykonanie skryptu
- ' w zale┐no£ci od naci£niΩtego przez u┐ytkownika przycisku. Funkcja
- ' ta jest wywo│ywana w wielu miejscach w poni┐szym skrypcie.
-
- Dim intButton
- intButton = MsgBox(strAction, _
- vbQuestion + vbYesNo, _
- L_Welcome_MsgBox_Title_Text )
- Ask = intButton = vbYes
- End Function
-
- ' **************************************************
- ' *
- ' * Poka┐ w│a£ciwo£ci obiektu WSHNetwork
- ' *
- ' *
- MsgBox "UserDomain" & Chr(9) & "= " & WSHNetwork.UserDomain & CRLF & _
- "UserName" & Chr(9) & "= " & WSHNetwork.UserName & CRLF & _
- "ComputerName" & Chr(9) & "= " & WSHNetwork.ComputerName, _
- vbInformation + vbOKOnly, _
- "W│a£ciwo£ci WSHNetwork"
-
- ' **************************************************
- ' *
- ' * WSHNetwork.AddNetworkDrive
- ' *
- ' *
-
- Function TryMapDrive(intDrive, strShare)
- Dim strDrive
- strDrive = Chr(intDrive + 64) & ":"
- On Error Resume Next
- WSHNetwork.MapNetworkDrive strDrive, strShare
- TryMapDrive = Err.Number = 0
- End Function
-
- If Ask("Czy chcesz przeliczyµ pod│╣czone dyski sieciowe?") Then
- strShare = InputBox("Wprowadƒ nazwΩ udzia│u sieciowego do kt≤rego chcesz siΩ pod│╣czyµ ")
- For intDrive = 26 To 5 Step -1
- If TryMapDrive(intDrive, strShare) Then Exit For
- Next
-
- If intDrive <= 5 Then
- MsgBox "Nie mo┐na siΩ pod│╣czyµ do udzia│u sieciowego. " & _
- "Brakuje dostΩpnych liter dla dysk≤w. " & _
- CRLF & _
- "ProszΩ zamkn╣µ jedno z po│╣cze± sieciowych " & _
- "i uruchomiµ ten skrypt ponownie. ", _
- vbExclamation + vbOkOnly, _
- L_Welcome_MsgBox_Title_Text
- Else
- strDrive = Chr(intDrive + 64) & ":"
- MsgBox "Pod│╣czenie " & strShare & " do dysku " & strDrive, _
- vbInformation + vbOkOnly, _
- L_Welcome_MsgBox_Title_Text
-
- If Ask("Czy chcesz od│╣czyµ dysk sieciowy?") Then
- WSHNetwork.RemoveNetworkDrive strDrive
-
- MsgBox "Od│╣czony dysk " & strDrive, _
- vbInformation + vbOkOnly, _
- L_Welcome_MsgBox_Title_Text
- End If
- End If
- End If
-
-
- ' **************************************************
- ' *
- ' * WSHNetwork.EnumNetworkDrive
- ' *
- ' *
- 'Zaytaj u┐ytkownika czy przeliczyµ dyski sieciowe
- If Ask("Czy chcesz przeliczyµ pod│╣czone dyski sieciowe?") Then
- 'Przelicza dyski sieciowe na obiekt kolekcji typu WshCollection
- Set colDrives = WSHNetwork.EnumNetworkDrives
-
- 'Je┐eli nie znaleziono ┐adnych dysk≤w sieciowych, poinformuj o tym u┐ytkownika,
- 'w przeciwnym razie wy£wietl je
- If colDrives.Count = 0 Then
- MsgBox "Nie odnaleziono dysk≤w sieciowych.", _
- vbInformation + vbOkOnly, _
- L_Welcome_MsgBox_Title_Text
- Else
- strMsg = "Aktualnie do│╣czone dyski sieciowe: " & CRLF
- For i = 0 To colDrives.Count - 1 Step 2
- strMsg = strMsg & CRLF & colDrives(i) & Chr(9) & colDrives(i + 1)
- Next
-
- MsgBox strMsg, _
- vbInformation + vbOkOnly, _
- L_Welcome_MsgBox_Title_Text
-
- End If
- End If
-
- ' ********************************************************************************
- ' *
- ' * Witamy
- ' *
- Sub Welcome()
- Dim intDoIt
-
- intDoIt = MsgBox(L_Welcome_MsgBox_Message_Text, _
- vbOKCancel + vbInformation, _
- L_Welcome_MsgBox_Title_Text )
- If intDoIt = vbCancel Then
- WScript.Quit
- End If
- End Sub
-
-
-