[R] Script Sauvegarde PSt

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11793
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Script Sauvegarde PSt

#41

Message par Tlem »

Ne pouvez-vous pas faire vous même un Regedit puis CTRL + F et taper le chemin de la base sur votre machine, ou tout simplement Outlook.pst puis F3 à chaque occurrence trouvé ?

Ou encore mieux, une simple recherche avec Google !!!
http://www.google.fr/search?hl=fr&q=reg ... ogle&meta=
Vous y découvrirez qu'il est possible de limiter la taille du fichier .pst !
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
jujubois
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mer. 07 mai 2008 23:06
Status : Hors ligne

Re: [R] Script Sauvegarde PSt

#42

Message par jujubois »

:?
hmmm si je demandais ça, c'est que j avais deja fait ma recherche google ou registre et que je ne trouvais rien de clair

Désolé que tu le prennes mal

julien
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11793
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Script Sauvegarde PSt

#43

Message par Tlem »

jujubois a écrit :Désolé que tu le prennes mal
Je ne le prend pas mal, c'est que vous avez tout simplement les outils de recherche à votre disposition et je tenais à vous le signaler, c'est tout.

Vraisemblablement le forum Anglais, vous à apporté une réponse. :P
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
jujubois
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mer. 07 mai 2008 23:06
Status : Hors ligne

Re: [R] Script Sauvegarde PSt

#44

Message par jujubois »

:) oui mais difficilement loool moi et l anglais....

J arrive pas a trouver la clé qui contient le chemin pst...
Modifié en dernier par Tlem le ven. 06 juin 2008 22:48, modifié 1 fois.
Raison : Suppression du code inutile.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11793
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Script Sauvegarde PSt

#45

Message par Tlem »

Le code de ptrex me semble pourtant des plus simple !!!

Présenté comme ceci il vous parait encore plus évident ?

Code : Tout sélectionner

$Res = _PathOutlookPST()
MsgBox(64, "Info", "Le chemin de la base de donnée est : " & @CRLF & $Res )

Func _PathOutlookPST()
$sKeyPath = "HKCU\SOFTWARE\MICROSOFT\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook"
For $i= 1 to 50
    $sKey = RegEnumKey($sKeyPath, $i)
        If @error <> 0 then ExitLoop
    For $ii = 1 to 100
        $sEnumPath = $sKeyPath & "\" & $sKey
            $sKeyVal = RegEnumVal($sEnumPath, $ii)

        If @error <> 0 Then ExitLoop
        $sRegVal = RegRead ($sEnumPath, $sKeyVal)
            If Bitor(StringRight($sRegVal,4) = ".PST", StringRight($sRegVal,4) = ".OST") then
                Return $sRegVal
            EndIf
    Next
Next
EndFunc
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
jujubois
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mer. 07 mai 2008 23:06
Status : Hors ligne

Re: [R] Script Sauvegarde PSt

#46

Message par jujubois »

Bonsoir

Tu vas me trouver super relou ... mais chez moi ça me donne "0" ! chez toi ça marche ?


Julien
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11793
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Script Sauvegarde PSt

#47

Message par Tlem »

J'ai installé un Outlook 2002 pour mon pocket et effectivement ça fonctionne.

Sinon, regardez dans la base de registre dans la clé :

Code : Tout sélectionner

"HKCU\SOFTWARE\MICROSOFT\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook"
et regardez ce que vous avez !!!

Si vous n'avez rien, cela sera vraiment étrange.
Faites donc une recherche dans la base de registre avec .pst et regardez si vous arrivez à trouver un chemin !!!

Sinon je vois vraiment pas.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
jujubois
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mer. 07 mai 2008 23:06
Status : Hors ligne

Re: [R] Script Sauvegarde PSt

#48

Message par jujubois »

Si je fais une recherche de 'pst" ça n abouti sur rien ...

Code : Tout sélectionner

"HKCU\SOFTWARE\MICROSOFT\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook"
oui j ai plein de valeur mais binaire !! aucun chemin en clair :?
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11793
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Script Sauvegarde PSt

#49

Message par Tlem »

Sous DOS, faites :

Code : Tout sélectionner

REG EXPORT "HKCU\SOFTWARE\MICROSOFT\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook" C:\Outlook.reg
et envoyez moi le fichier C:\Outlook.reg.
Ou si vous savez le faire, faites cet export à partir du Regedit.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
jujubois
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mer. 07 mai 2008 23:06
Status : Hors ligne

Re: [R] Script Sauvegarde PSt

#50

Message par jujubois »

Bonjour

Ok je vous envoie ça demain ^^ merci de votre aide
jujubois
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mer. 07 mai 2008 23:06
Status : Hors ligne

Re: [R] Script Sauvegarde PSt

#51

Message par jujubois »

lu all

Tlem je t envoi le lien pour récupérer le outlook.reg

Merci
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [R] Script Sauvegarde PSt

#52

Message par ani »

Binaire ?

Une fonction de conversion existe sous autoit

Code : Tout sélectionner

BinaryToString ( expression [, flag] )
du moins j'espere ^^"

bonne continuation ;)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11793
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Script Sauvegarde PSt

#53

Message par Tlem »

Voici une piste :

Code : Tout sélectionner

#include <string.au3>

; Lit une des clés de la base de registre.
$Hex = RegRead("HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\0a0d020000000000c000000000000046","001f0324")
; Supprime les 00 entre chaque valeur de caractére.
$Hex = StringReplace ( $Hex, "00", "")
; Affiche le résultat.
MsgBox(0,"",_HexToString($Hex))
 
Je pense qu'il faudrais scanner toutes les clés de HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\ à la recherche du fichier .pst puis utiliser la recherche.
Je ne sais pas pourquoi les infos sont stockées de cette manière, mais bon je suis sur que vous allez y arriver. 8)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
jujubois
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mer. 07 mai 2008 23:06
Status : Hors ligne

Re: [R] Script Sauvegarde PSt

#54

Message par jujubois »

Salut

Merci beaucout t assure trop :!: selon mes premiers tout fonctionne a merveille ^^ j'etend mes tests sur d'autre postes


Merci à bientot
jujubois
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mer. 07 mai 2008 23:06
Status : Hors ligne

Re: [R] Script Sauvegarde PSt

#55

Message par jujubois »

Op me voici de retour ^^ C'est génial ça marche ^^ :lol:

Une dernier question pour ce post ! The last :

J'aurai besoin de tronquer une chaine de caractaire ? exemple :

je récupère la chaine suivante : "c:\exemple\toto\...\tata\fichier.txt"

et je voudrais garder : "c:\exemple\toto\...\tata\"

J ai cherché dans le forum avec quelques mots clé mais rien trouver j vais voir sur google en attendant

@+
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11793
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Script Sauvegarde PSt

#56

Message par Tlem »

Utilisez ceci : _PathSplit
Regardez dans la doc comment vous en servir.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
jujubois
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mer. 07 mai 2008 23:06
Status : Hors ligne

Re: [R] Script Sauvegarde PSt

#57

Message par jujubois »

Génial !!!!!!!!!!!!! :!:

Merci 8)

Voici mon code à jours

Code : Tout sélectionner

#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <GUIConstants.au3>
#include <string.au3>
#include <file.au3>
#NoTrayIcon

HotKeySet("²", "endscript")

If Not @Compiled Then
    MsgBox(16, "Erreur", "Le script doit être compiler pour fonctionner.")
    Exit
EndIf

$Src = _PathOutlookPST()
$Dst = @ScriptDir  & "\" & @UserName & "_" & @YEAR & @MON & @MDAY
$7zaPath = @TempDir & "\7za.exe"
$Archive = @ScriptDir & "\" & @UserName & "_" & @YEAR & @MON & @MDAY & ".7z"
$Outlook = "non"
$sCMDLine = " a -r " & '"' &$Archive& '"' & " " & '"' & $Dst & '"'

If Not Fileexists($Src) Then
    MsgBox(16,"Erreur","Aucun profil Outlook trouvé !")
    exit
Else
    DirCreate (@ScriptDir  & "\" & @UserName & "_" & @YEAR & @MON & @MDAY )
EndIf

FileInstall("c:\7za\7za.exe",$7zaPath)

If Not Fileexists($7zaPath) Then
    MsgBox(16,"Erreur","Le programme de compression n'à pas été trouvé !")
    exit
EndIf


If $CMDLINE[0] Then
    If $CMDLINE[1] = "S" Then
        sleep(1000)  
       
        If ProcessExists("outlook.exe") Then
            ProcessClose("outlook.exe")
            $Outlook = "oui"
            Sleep(5000)
        EndIf
    
        ControlSetText ( "OutlookBackupTool", "", "[CLASS:Static; INSTANCE:1]", "Copie en cours ...")
        
        If FileCopy($Src, $Dst, 9) Then
            
            ControlSetText ( "OutlookBackupTool", "", "[CLASS:Static; INSTANCE:1]", "Copie terminée ...")
            sleep(1000)
            
            If $Outlook = "oui" Then
                ShellExecute("outlook.exe")
            EndIf
        
            ControlSetText ( "OutlookBackupTool", "", "[CLASS:Static; INSTANCE:1]", "Compression en cours ...")
            $Res = _CMD7zaExe($7zaPath, $sCMDLine)
            ControlSetText ( "OutlookBackupTool", "", "[CLASS:Static; INSTANCE:1]", "Compression terminée ...")
            sleep(1000) 
            
            If $Res = 0 Then 
                MsgBox(64,"Erreur Archive", "Erreur lors de la création de l'archive") 
                Exit
            Else
        
            ControlSetText ( "OutlookBackupTool", "", "[CLASS:Static; INSTANCE:1]", "Sauvegarde terminée ...")
            sleep(1000) 
            FileDelete($7zaPath)
            DirRemove (@ScriptDir  & "\" & @UserName & "_" & @YEAR & @MON & @MDAY,1)
            Exit
        EndIf
        Else
            MsgBox(64,"Erreur Copie", "Erreur lors de la copie") 
            Exit
        EndIf
                
        Exit
    
    EndIf
EndIf


$Ca = GUICreate ( "OutlookBackupTool" , 250 , 46 , 0 , 0 , $WS_POPUP,$WS_EX_TOPMOST+$WS_EX_WINDOWEDGE+$WS_EX_DLGMODALFRAME)
GUISetBkColor ( 0x000000 , $Ca )
$Da = GUICtrlCreateLabel ("Sauvegarde Outlook en cours ...",  23, -1, 250,23)
GuiCtrlCreateGraphic(-1, 1, 252,45,$SS_SUNKEN)
GUICtrlSetColor(-1, 0XFFFFFF)
GUICtrlSetColor ( $Da, 0XFFFFFF)
GUICtrlSetFont ($Da, "12" , "50" , "" , "Courrier New")
GUICtrlCreateGraphic(1, 23, 250,20)
GUICtrlSetColor(-1, 0x007F00)
GuiSetState(@SW_SHOW)



$Pid = Run(@ScriptName & ' S')
AdlibEnable("_Test2ndInstance")
_SliderRight()


;===============================================================================
;===============================================================================

Func _PathOutlookPST()
Dim $szDrive, $szDir, $szFName, $szExt  
$sKeyPath = "HKCU\SOFTWARE\MICROSOFT\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook"

For $i= 1 to 50
    $sKey = RegEnumKey($sKeyPath, $i)
        If @error <> 0 then ExitLoop
    For $ii = 1 to 100
        $sEnumPath = $sKeyPath & "\" & $sKey
            $sKeyVal = RegEnumVal($sEnumPath, $ii)

        If @error <> 0 Then ExitLoop
        If $sKeyVal = "001f6700" Then
            $sRegVal = RegRead ($sEnumPath, $sKeyVal)
            $Hex = StringReplace ( $sRegVal, "00", "")
            $CheminCOMPLET = _HexToString($Hex)
            _PathSplit($CheminCOMPLET, $szDrive, $szDir, $szFName, $szExt)
            $CheminPST = $szDrive & $szDir
            Return $CheminPST
        EndIf
    Next
Next
EndFunc
;===============================================================================

Func _CMD7zaExe($7zaPath, $sCMDLine)
    If  Fileexists($Archive) Then
        FileDelete($Archive)
    EndIf
    
    ShellExecuteWait($7zaPath, $sCMDLine, "", "", @SW_HIDE)
    $error = @error
    
    If $error Then
        Return 0
    Else
        Return 1
    EndIf
EndFunc   ;==>_CMD7zaExe
;===============================================================================

Func _SliderRight()
        Local $newcolor,$color = 0x050000
    For $m = 0 To 245 Step 5
        $newcolor += $color
        $ba = GUICtrlCreateLabel( "", $m, 25, 4,16)
        GUICtrlSetBkColor($ba, $newcolor)
        Sleep(50)
    Next
     _SliderLeft()
EndFunc
;===============================================================================

Func _SliderLeft()
    Local $backcolor,$color = 0x050000
    For $m = 245 To 0 Step -5
        $backcolor += $color  
        $ba = GUICtrlCreateLabel( "", $m, 25, 4,16)
        GUICtrlSetBkColor($ba, $backcolor)
        Sleep(50)
    Next
    _SliderRight()
EndFunc
;===============================================================================

Func _Test2ndInstance()
    If Not ProcessExists($Pid) Then Exit
EndFunc
;===============================================================================
    
Func endscript()
    
    If ProcessExists("7za.exe") Then
        ProcessClose("7za.exe")
        Sleep(5000)
    EndIf
    
    If  Fileexists(@ScriptDir  & "\" & @UserName & "_" & @YEAR & @MON & @MDAY) Then
        DirRemove (@ScriptDir  & "\" & @UserName & "_" & @YEAR & @MON & @MDAY,1)
    EndIf

    If  Fileexists($Archive) Then
        FileDelete($Archive)
    EndIf
    
    Exit
    
EndFunc
;===============================================================================
;===============================================================================
jujubois
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mer. 07 mai 2008 23:06
Status : Hors ligne

Re: [R] Script Sauvegarde PSt

#58

Message par jujubois »

Salut all

Je souhaitais améliorer mon script en passant en parametre le chemin de destination de mon archive, ça se n est pas le probleme mais pb c'est que j utilise CMDLine déjà dans mon script pour mes 2 instances script/progress bar...

ci joint le code rajouté au post précédent :

Code : Tout sélectionner

;~  récupération des paramètres
If $CMDLine[0] > 0 Then ; vérification si paramètre
    $DstLine = $cmdline[1] ;lecture du 1er paramètre
Else
    MsgBox(0,"erreur","paramètre obligatoire")
    exit
EndIf

$Src = _PathOutlookPST()
$Dst = @ScriptDir  & "\" & @UserName & "_" & @YEAR & @MON & @MDAY
$7zaPath = @TempDir & "\7za.exe"
$Archive =  $DstLine & "_" & @YEAR & @MON & @MDAY & ".7z"
$Outlook = "non"
$sCMDLine = " a -r " & '"' &$Archive& '"' & " " & '"' & $Dst & '"'

Pouvez vous m aider, merci
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11793
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Script Sauvegarde PSt

#59

Message par Tlem »

Il n'y a pas de problème, il vous suffit de rajouter les conditions à la suite du bloc de code concernant le :

Code : Tout sélectionner

If $CMDLINE[1] = "S" Then
Ca donnerait un truc comme ca :

Code : Tout sélectionner

If $CMDLINE[0] Then
    If $CMDLINE[1] = "S" Then
        Sleep(1000)
    ; ...
    ; Le reste du code pour fermer Outlook.
    ; ...
    EndIf
    If FileExists($CMDLINE[1]) Then
        $Dst = $CMDLINE[1]
    Else
        Msgbox(16, "Erreur", "La destination n'existe pas") ; Une boite de dialogue de création
                                                            ; de la destination peut être judicieux !
        Exit
    EndIf
EndIf
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
jujubois
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mer. 07 mai 2008 23:06
Status : Hors ligne

Re: [R] Script Sauvegarde PSt

#60

Message par jujubois »

Je suis vraiment désolé de t embeter encore .... :cry:

j ai fais ma modif' mais ça ne va pas ... j ai l impression que

Code : Tout sélectionner

$Pid = Run(@ScriptName & ' S')
met le bazard ....

Voici ce que j'ai fait :

Code : Tout sélectionner

#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <GUIConstants.au3>
#include <string.au3>
#include <file.au3>
#include <INet.au3>
#NoTrayIcon

HotKeySet("²", "endscript")



If Not @Compiled Then
    MsgBox(16, "Erreur", "Le script doit être compiler pour fonctionner.")
    Exit
EndIf



$Src = _PathOutlookPST()
$Dst = @ScriptDir  & "\" & @UserName & "_" & @YEAR & @MON & @MDAY
$7zaPath = @TempDir & "\7za.exe"

$Outlook = "non"


If Not Fileexists($Src) Then
    MsgBox(16,"Erreur","Aucun profil Outlook trouvé !")
    exit
Else
    DirCreate (@ScriptDir  & "\" & @UserName & "_" & @YEAR & @MON & @MDAY )
EndIf

FileInstall("c:\7za\7za.exe",$7zaPath)

If Not Fileexists($7zaPath) Then
    MsgBox(16,"Erreur","Le programme de compression n'à pas été trouvé !")
    exit
EndIf


If $CMDLINE[0] Then
    If $CMDLINE[1] = "S" Then
        sleep(1000)  
       
        If ProcessExists("outlook.exe") Then
            ProcessClose("outlook.exe")
            $Outlook = "oui"
            Sleep(5000)
        EndIf
    
    If FileExists($CMDLINE[1]) Then
        $DstLine = $CMDLINE[1]
        $Archive =  $DstLine & "_" & @YEAR & @MON & @MDAY & ".7z"
        $sCMDLine = " a -r " & '"' &$Archive& '"' & " " & '"' & $Dst & '"'
    Else
        MsgBox(0,"erreur","paramètre obligatoire")
        exit
    EndIf
    
        ControlSetText ( "OutlookBackupTool", "", "[CLASS:Static; INSTANCE:1]", "Copie en cours ...")
        
        If FileCopy($Src, $Dst, 9) Then
            
            ControlSetText ( "OutlookBackupTool", "", "[CLASS:Static; INSTANCE:1]", "Copie terminée ...")
            sleep(1000)
            
            If $Outlook = "oui" Then
                ShellExecute("outlook.exe")
            EndIf
        
            ControlSetText ( "OutlookBackupTool", "", "[CLASS:Static; INSTANCE:1]", "Compression en cours ...")
            $Res = _CMD7zaExe($7zaPath, $sCMDLine)
            ControlSetText ( "OutlookBackupTool", "", "[CLASS:Static; INSTANCE:1]", "Compression terminée ...")
            sleep(1000) 
            
            If $Res = 0 Then 
                MsgBox(64,"Erreur Archive", "Erreur lors de la création de l'archive") 
                Exit
            Else
        
            ControlSetText ( "OutlookBackupTool", "", "[CLASS:Static; INSTANCE:1]", "Sauvegarde terminée ...")
            sleep(1000) 
            FileDelete($7zaPath)
            DirRemove (@ScriptDir  & "\" & @UserName & "_" & @YEAR & @MON & @MDAY,1)
            Exit
        EndIf
        Else
            MsgBox(64,"Erreur Copie", "Erreur lors de la copie") 
            Exit
        EndIf
                
        Exit
    
    EndIf
EndIf


$Ca = GUICreate ( "OutlookBackupTool" , 250 , 46 , 0 , 0 , $WS_POPUP,$WS_EX_TOPMOST+$WS_EX_WINDOWEDGE+$WS_EX_DLGMODALFRAME)
GUISetBkColor ( 0x000000 , $Ca )
$Da = GUICtrlCreateLabel ("Sauvegarde Outlook en cours ...",  23, -1, 250,23)
GuiCtrlCreateGraphic(-1, 1, 252,45,$SS_SUNKEN)
GUICtrlSetColor(-1, 0XFFFFFF)
GUICtrlSetColor ( $Da, 0XFFFFFF)
GUICtrlSetFont ($Da, "12" , "50" , "" , "Courrier New")
GUICtrlCreateGraphic(1, 23, 250,20)
GUICtrlSetColor(-1, 0x007F00)
GuiSetState(@SW_SHOW)



$Pid = Run(@ScriptName & ' S')
AdlibEnable("_Test2ndInstance")
_SliderRight()


;===============================================================================
;===============================================================================

Func _PathOutlookPST()
Dim $szDrive, $szDir, $szFName, $szExt  
$sKeyPath = "HKCU\SOFTWARE\MICROSOFT\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook"

For $i= 1 to 50
    $sKey = RegEnumKey($sKeyPath, $i)
        If @error <> 0 then ExitLoop
    For $ii = 1 to 100
        $sEnumPath = $sKeyPath & "\" & $sKey
            $sKeyVal = RegEnumVal($sEnumPath, $ii)

        If @error <> 0 Then ExitLoop
        If $sKeyVal = "001f6700" Then
            $sRegVal = RegRead ($sEnumPath, $sKeyVal)
            $Hex = StringReplace ( $sRegVal, "00", "")
            $CheminCOMPLET = _HexToString($Hex)
            _PathSplit($CheminCOMPLET, $szDrive, $szDir, $szFName, $szExt)
            $CheminPST = $szDrive & $szDir
            Return $CheminPST
        EndIf
    Next
Next
EndFunc
;===============================================================================

Func _CMD7zaExe($7zaPath, $sCMDLine)
    If  Fileexists($Archive) Then
        FileDelete($Archive)
    EndIf
    
    ShellExecuteWait($7zaPath, $sCMDLine, "", "", @SW_HIDE)
    $error = @error
    
    If $error Then
        Return 0
    Else
        Return 1
    EndIf
EndFunc   ;==>_CMD7zaExe
;===============================================================================

Func _SliderRight()
        Local $newcolor,$color = 0x050000
    For $m = 0 To 245 Step 5
        $newcolor += $color
        $ba = GUICtrlCreateLabel( "", $m, 25, 4,16)
        GUICtrlSetBkColor($ba, $newcolor)
        Sleep(50)
    Next
     _SliderLeft()
EndFunc
;===============================================================================

Func _SliderLeft()
    Local $backcolor,$color = 0x050000
    For $m = 245 To 0 Step -5
        $backcolor += $color  
        $ba = GUICtrlCreateLabel( "", $m, 25, 4,16)
        GUICtrlSetBkColor($ba, $backcolor)
        Sleep(50)
    Next
    _SliderRight()
EndFunc
;===============================================================================

Func _Test2ndInstance()
    If Not ProcessExists($Pid) Then Exit
EndFunc
;===============================================================================
    
Func endscript()
    
    If ProcessExists("7za.exe") Then
        ProcessClose("7za.exe")
        Sleep(5000)
    EndIf
    
    If  Fileexists(@ScriptDir  & "\" & @UserName & "_" & @YEAR & @MON & @MDAY) Then
        DirRemove (@ScriptDir  & "\" & @UserName & "_" & @YEAR & @MON & @MDAY,1)
    EndIf

    If  Fileexists($Archive) Then
        FileDelete($Archive)
    EndIf
    
    Exit
    
EndFunc
;===============================================================================
;===============================================================================
Répondre