home *** CD-ROM | disk | FTP | other *** search
/ PC World 2003 March / PCWorld_2003-03_cd.bin / Software / Vyzkuste / prakticketipyprowindows / soft3_2003.exe / Logone.vbs < prev    next >
Text File  |  2003-01-19  |  5KB  |  145 lines

  1.  
  2.  
  3.  
  4. Set oWSHShell    = CreateObject("Wscript.Shell")
  5. Set oFs        = CreateObject("Scripting.FileSystemObject")
  6.  
  7. strTempPfad = oWSHShell.ExpandEnvironmentStrings("%TEMP%")
  8. strTempExportDateiPfad = strTempPfad & "\export.reg"
  9. strTempImportDateiPfad = strTempPfad & "\import.reg"
  10.  
  11.  
  12. oWSHShell.Run "%COMSPEC% /C regedit /e " & Chr(34) & strTempExportDateiPfad & Chr(34) & " " & Chr(34) & "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar\Explorer\" & Chr(34),7,True
  13.  
  14.  
  15. oWSHSHell.PopUp "Analyzujφ se polo₧ky v registru t²kajφcφ se Pr∙zkumnφka.",1,"Skript PC WORLDu",0
  16.  
  17.  
  18. Set oFsInputTextFile = oFs.OpenTextFile(strTempExportDateiPfad,1,False,-2)
  19.  
  20. Do While oFsInputTextFile.AtEndOfStream <> True
  21.     InputZeilenzahl=InputZeilenzahl+1
  22.     oFsInputTextFile.SkipLine
  23. Loop
  24. oFsInputTextFile.Close
  25.  
  26.  
  27. ReDim Zeile(InputZeilenzahl)
  28. Set oFsInputTextFile = oFs.OpenTextFile(strTempExportDateiPfad,1,False,-2)
  29. Set oFsOutputTextFile = oFs.CreateTextFile(strTempImportDateiPfad,True)
  30.  
  31.  
  32. Do Until n=InputZeilenzahl
  33.     n=n+1
  34.     Zeile(n) = oFsInputTextFile.ReadLine
  35.     If InStr(Zeile(n), "ITBarLayout") Then
  36.         strZeileAnfang = Mid(Zeile(n),1,66)
  37.         strByte = Mid(Zeile(n),67,2)
  38.         strZeileEnde = Mid(Zeile(n),69)
  39.         boolShowMessage = "1"
  40.         'DebugMsg1 = MsgBox(strZeileAnfang & LogoSwitcher(strByte) & strZeileEnde)
  41.         Zeile(n) = strZeileAnfang & LogoSwitcher(strByte) & strZeileEnde
  42.     End If
  43.     oFsOutputTextFile.WriteLine(Zeile(n))
  44. Loop
  45. oFsInputTextFile.Close
  46.     n=1
  47. Set oFsInputTextFile = oFs.OpenTextFile(strTempExportDateiPfad,1,False,-2)
  48. oFsInputTextFile.SkipLine
  49.  
  50.  
  51. Do Until n=InputZeilenzahl
  52.     n=n+1
  53.     Zeile(n) = oFsInputTextFile.ReadLine
  54.     
  55.     If InStr(Zeile(n), "[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar\Explorer\]") Then
  56.         Zeile(n) = Replace(Zeile(n), "Toolbar\Explorer", "Toolbar\ShellBrowser")
  57.     End If
  58.     
  59.     If InStr(Zeile(n), "ITBarLayout") Then
  60.         strZeileAnfang = Mid(Zeile(n),1,66)
  61.         strByte = Mid(Zeile(n),67,2)
  62.         strZeileEnde = Mid(Zeile(n),69)
  63.         boolShowMessage = "0"
  64.         'DebugMsg1 = MsgBox(strZeileAnfang & LogoSwitcher(strByte) & strZeileEnde)
  65.         Zeile(n) = strZeileAnfang & LogoSwitcher(strByte) & strZeileEnde
  66.     End If
  67.     oFsOutputTextFile.WriteLine(Zeile(n))    
  68. Loop
  69.  
  70.  
  71. oFsInputTextFile.Close
  72. oFsOutputTextFile.Close
  73.  
  74. oWSHShell.Run "%COMSPEC% /C regedit /s " & Chr(34) & strTempImportDateiPfad & Chr(34),7,True
  75.  
  76.  
  77. oFs.DeleteFile strTempImportDateiPfad,True
  78. oFs.DeleteFile strTempExportDateiPfad,True
  79.  
  80.  
  81. Function LogoSwitcher(strFromReg)
  82.     strBinWert = HexNachBin(strFromReg)
  83.     If Mid(StrReverse(strBinWert),4,1) = "1" Then
  84.         strNeuerBinWert = StrReverse(Mid(StrReverse(strBinWert),1,1) & Mid(StrReverse(strBinWert),2,1) & Mid(StrReverse(strBinWert),3,1) & "0" & Mid(StrReverse(strBinWert),5,1) & Mid(StrReverse(strBinWert),6,1) & Mid(StrReverse(strBinWert),7,1) & Mid(StrReverse(strBinWert),8,1))
  85.         If boolShowMessage = "1" Then oWSHSHell.PopUp "Logo Windows bylo vypnuto. Chvilku to jeÜt∞ potrvß.",2,"Kript PC WORLDu",0
  86.         'DebugMsg2 = MsgBox("Logo se vypφnß. " & Chr(10) & "Alter Hex-Wert: " & BinNachHex(strBinWert) & Chr(10) & "Neuer Hex-Wert: " & BinNachHex(strNeuerBinWert))
  87.     Else
  88.         strNeuerBinWert = StrReverse(Mid(StrReverse(strBinWert),1,1) & Mid(StrReverse(strBinWert),2,1) & Mid(StrReverse(strBinWert),3,1) & "1" & Mid(StrReverse(strBinWert),5,1) & Mid(StrReverse(strBinWert),6,1) & Mid(StrReverse(strBinWert),7,1) & Mid(StrReverse(strBinWert),8,1))
  89.         If boolShowMessage = "1" Then oWSHSHell.PopUp "Logo Windows se zapφnß. Chvilku to jeÜt∞ potrvß.",2,"Skript PC WORLDu",0
  90.         'DebugMsg3 = MsgBox("Logo se zapφnß. " & Chr(10) & "Alter Hex-Wert: " & BinNachHex(strBinWert) & Chr(10) & "Neuer Hex-Wert: " & BinNachHex(strNeuerBinWert))
  91.     End If
  92.  
  93.     LogoSwitcher = BinNachHex(strNeuerBinWert)
  94. End Function
  95.  
  96.  
  97. Function HexNachBin(strHex)
  98.     lngErgebnis = 0
  99.     For intIndex = Len(strHex) To 1 Step -1
  100.         strDigit = Mid(strHex, intIndex, 1)
  101.         intDigit = InStr("0123456789ABCDEF", UCase(strDigit))-1
  102.         If intDigit >= 0 Then
  103.             intValue = intDigit * (16 ^ (Len(strHex)-intIndex))
  104.             lngErgebnis = lngErgebnis + intValue
  105.         Else
  106.             lngErgebnis = 0
  107.             intIndex = 0
  108.         End If
  109.     Next
  110.     
  111.     
  112.     intExp = 65536
  113.     While intExp >= 1
  114.         If lngErgebnis >= intExp Then
  115.             lngErgebnis = lngErgebnis - intExp
  116.             strErgebnis = strErgebnis & "1"
  117.         Else
  118.             strErgebnis = strErgebnis & "0"
  119.         End If
  120.         intExp = intExp / 2
  121.     Wend
  122.     HexNachBin = strErgebnis
  123. End Function
  124.  
  125.  
  126.  
  127. Function BinNachHex(strBin)
  128.   lngErgebnis = 0
  129.   for intIndex = len(strBin) to 1 step -1
  130.     strDigit = mid(strBin, intIndex, 1)
  131.     select case strDigit
  132.       case "0"
  133.       case "1"
  134.         lngErgebnis = lngErgebnis + (2 ^ (len(strBin)-intIndex))
  135.       case else
  136.         lngErgebnis = 0
  137.         intIndex = 0
  138.     end select
  139.   Next
  140.  
  141.  
  142.   BinNachHex = Hex(lngErgebnis)
  143. End Function
  144.  
  145.