' ---------------------------------------------------------- ' Script de restauration de l'affichage des miniatures d'images ' dans l'explorateur de Windows ' Ce défaut est du à la disparition (ou corruption) d'une clef ' dans la basse de registre : ' HKEY_CLASSES_ROOT\.xxx\ShellEx ' HKEY_CLASSES_ROOT\.xxx\ShellEx\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1} ' valeur par défaut : {7376D660-C583-11d0-A3A5-00C04FD706EC} ' ' Syntaxe: ' restorepreview ' ' JC BELLAMY © 2003 ' ---------------------------------------------------------- On error Resume Next Dim shell Set shell = WScript.CreateObject("WScript.Shell") Ext = array(".art",".bmp",".dib",".gif",".jfif",".jpe",".jpeg",".jpg",".png",".wmf") SubKey="{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}\" Value ="{7376D660-C583-11d0-A3A5-00C04FD706EC}" TestHost For i = LBound(Ext) To Ubound(Ext) Key="HKCR\" & Ext(i) & "\ShellEx\" & Subkey Erreur=false valdef=shell.RegRead(Key) If err.number<>0 Then Erreur=true err.clear Else If valdef<>Value Then Erreur=true end if Msg="Extension " & Ext(i) If Erreur Then shell.RegWrite Key,Value Result="" If err.number<>0 Then Result=" non" err.clear end if Result=Result & " corrigée" else Result=" OK" End If wscript.echo Msg & chr(9) & Result Next Wscript.quit '-------------------------------------------------------------------- 'Sous-programme de test du moteur 'Vu les sorties générées, c'est CSCRIPT (et non pas WSCRIPT) 'qui doit être utilisé de préférence Sub TestHost dim rep strappli=lcase(Wscript.ScriptFullName) strFullName =lcase(WScript.FullName) i=InStr(1,strFullName,".exe",1) j=InStrRev(strFullName,"\",i,1) strCommand=Mid(strFullName,j+1,i-j-1) if strCommand<>"cscript" then rep=MsgBox( _ "Ce script doit être lancé avec CSCRIPT" & VBCRLF & _ "Cela peut être rendu permanent avec la commande" & VBCRLF & _ "cscript //H:CScript //S /Nologo" & VBCRLF & _ "Voulez-vous que ce soit fait automatiquement?", _ vbYesNo + vbQuestion,strappli) if rep=vbYes then nomcmd="setscript.bat" Set ficcmd = fso.CreateTextFile(nomcmd) ficcmd.writeline "@echo off" ficcmd.writeline "cscript //H:CScript //S /Nologo" ficcmd.writeline "pause" ficcmd.writeline strappli ficcmd.writeline "pause" ficcmd.close shell.Run nomcmd, SW_SHOWNORMAL,true end if WScript.Quit end if end sub '--------------------------------------------------------------------