1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| chemin=Replace(Wscript.ScriptFullName,Wscript.ScriptName,"")
Const Key = "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\"
Set WshShell= CreateObject("WScript.Shell")
CleRegistre = WshShell.RegRead(Key & "AcroRd32.exe\")
fichierREG=WshShell.SpecialFolders("Desktop") &"\Cle.reg" 'chemin du fichier reg
adob=Replace(CleRegistre , "AcroRd32.exe", "")
UnlockFolder adob
adobread = Replace(CleRegistre , "AcroRd32.exe", "pdftotext32.exe")
Set fso =CreateObject("Scripting.FileSystemObject")
Set NewFichier = fso.CreateTextFile(FichierREG, True)
' code du fichier reg
cle = "Windows Registry Editor Version 5.00" & vbcrlf
cle =cle &"[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\pdftotext32.exe]" & vbcrlf
cle =cle &"@=""" & Replace(adobread,"\","\\") &""""
' ecriture dans le fichier
NewFichier.Write(cle)
NewFichier.close
WshShell.Run "Regedit.exe /s " & fichierREG,0, true
fso.DeleteFile(fichierREG)
msgbox chemin & "pdftotext32.exe" & vbcrlf & adobread
'fso.CopyFile chemin & "pdftotext32.exe", chemin & "pdftotext322.exe" ' celui la fonctionne
fso.CopyFile chemin & "pdftotext32.exe", adob
'===============================
Sub UnlockFolder(strFolder)
' Merci à hackoofr pour cette procédure à laquelle j'ai ajouté un
' paramètre pour pouvoir l'utiliser sur d'autres dossiers
Dim WshNetwork, Com, Com1, UsrName, Ret
Set WshNetwork = CreateObject("WScript.Network")
UsrName = WshNetwork.UserName
Set WshShell= CreateObject("Wscript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists(strFolder) Then
Com1 = "%COMSPEC% /c attrib -s -h -r " & strFolder
WshShell.Run Com1, 0, True
Com = "%COMSPEC% /c Echo o| cacls " & strFolder & " /g " & DblQuote(UsrName) & ":f Administrateurs:f"
Ret = WshShell.Run(Com,0,True)
'msgbox ret
If Ret <> 0 Then
MsgBox "Opération de déblocage non réussie", vbCritical, "Débloquer un dossier"
End If
End if
End Sub
'=======================
Function DblQuote(strIn)
DblQuote = Chr(34) & strIn & Chr(34)
End Function |
Partager