Skrypt do czyszczenia sterowników drukarek [W2k]

Autor: Dominik & Co <Dominik.Alaszewski_at_wytnijmniegazeta.pl>
Data: Mon 25 Jun 2007 - 13:37:08 MET DST
Message-ID: <f5o9d4$rhq$1@inews.gazeta.pl>
Content-Type: text/plain; charset=ISO-8859-2; format=flowed

Dominik & Co napisaB(a):
> Ja się spotykam z tym na tyle często, że sobie nawet skrypcik
> napisałem do czyszczenia :-)

Jakby kogoś interesował (skrypt w języku AutoIt)
Stary, teraz bym go pewnie inaczej napisał ;-)

------ tu uciąć -------------------------------------------------------------------------

Opt("RunErrorsFatal", 0)
$pytanko=MsgBox(52,"UWAGA!","Wszystkie sterowniki drukarek zostaną wyczyszczone!" & @CRLF
& @CRLF & "Kontynuować?")

If $pytanko=7 Then Exit 0
ProgressOn ( "Czyszczenie drukarek", "Proszę czekaj...", "")

ProgressSet ( 10, "Wyłączam usługę spooler")
Sleep(2000)

; zatrzymanie spoolera
RunWait(@ComSpec & " /c " & 'net stop spooler', "", @SW_HIDE)

ProgressSet ( 20, "Usuwam drukarki z rejestru")
Sleep(2000)

; Usunięcie drukarek
$klucz="HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Printers"
Skasuj_podklucze($klucz)

ProgressSet ( 30, "Usuwam sterowniki drukarek z rejestru")
Sleep(2000)

; Usunięcie sterowników
$klucz="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT
x86\Drivers\Version-2"
Skasuj_podklucze($klucz)
$klucz="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT
x86\Drivers\Version-3"
Skasuj_podklucze($klucz)

ProgressSet ( 50, "Usuwam z dysku bufor wydruku")
Sleep(2000)

; usunięcie skeszowanego wydruku
$katalog=@WindowsDir & "\system32\spool\printers\*.*"
RunWait(@ComSpec & " /c " & 'del /F /Q /S ' & $katalog, "", @SW_HIDE)

ProgressSet ( 70, "Usuwam z dysku pliki sterowników")
Sleep(2000)

; usunięcie plików sterowników
$katalog=@WindowsDir & "\system32\spool\drivers\w32x86\2\*.*"
RunWait(@ComSpec & " /c " & 'del /F /Q /S ' & $katalog, "", @SW_HIDE)

$katalog=@WindowsDir & "\system32\spool\drivers\w32x86\3\*.*"
RunWait(@ComSpec & " /c " & 'del /F /Q /S ' & $katalog, "", @SW_HIDE)

ProgressSet ( 90, "Ustawiam właściwe parametry usługi spooler")
Sleep(2000)

; właściwe parametry usługi spooler
RegWrite
("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Spooler","DependOnService","REG_BINARY","5200500043005300530000000000")

ProgressSet ( 100, "Uruchamiam usługę spooler")
Sleep(2000)

; uruchomienie spoolera
RunWait(@ComSpec & " /c " & 'net start spooler', "", @SW_HIDE)

ProgressOff()
MsgBox(64,"Gotowe","Zakończone!")
Exit 0

; -- koniec programu głównego -------------------------------------------

Func Skasuj_podklucze($klucz)

   Do
        $kulczyk = RegEnumKey($klucz, 1)
        If $kulczyk="" Then ExitLoop
        RegDelete ($klucz & "\" & $kulczyk)
   Until $kulczyk=""

EndFunc

------ tu uciąć -------------------------------------------------------------------------

-- 
Dominik (& kąpany)
"Wszyscy chcą naszego dobra. Nie dajmy go sobie zabrać." (Stanisław Jerzy Lec)
Wyrażam wyłącznie prywatne poglądy, do czego mam prawo zgodnie z Art. 54 Konstytucji RP
Received on Mon Jun 25 13:40:07 2007

To archiwum zostało wygenerowane przez hypermail 2.1.8 : Mon 25 Jun 2007 - 13:42:04 MET DST