[R] Script Sauvegarde PSt
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- Tlem
- Site Admin
- Messages : 11793
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [R] Script Sauvegarde PSt
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 !
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é".
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é".
Re: [R] Script Sauvegarde PSt

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
- Tlem
- Site Admin
- Messages : 11793
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [R] Script Sauvegarde PSt
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.jujubois a écrit :Désolé que tu le prennes mal
Vraisemblablement le forum Anglais, vous à apporté une réponse.

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é".
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é".
Re: [R] Script Sauvegarde PSt

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.
Raison : Suppression du code inutile.
- Tlem
- Site Admin
- Messages : 11793
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [R] Script Sauvegarde PSt
Le code de ptrex me semble pourtant des plus simple !!!
Présenté comme ceci il vous parait encore plus évident ?
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é".
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é".
Re: [R] Script Sauvegarde PSt
Bonsoir
Tu vas me trouver super relou ... mais chez moi ça me donne "0" ! chez toi ça marche ?
Julien
Tu vas me trouver super relou ... mais chez moi ça me donne "0" ! chez toi ça marche ?
Julien
- Tlem
- Site Admin
- Messages : 11793
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [R] Script Sauvegarde PSt
J'ai installé un Outlook 2002 pour mon pocket et effectivement ça fonctionne.
Sinon, regardez dans la base de registre dans la clé :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.
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"
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é".
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é".
Re: [R] Script Sauvegarde PSt
Si je fais une recherche de 'pst" ça n abouti sur rien ...
oui j ai plein de valeur mais binaire !! aucun chemin en clair 
Code : Tout sélectionner
"HKCU\SOFTWARE\MICROSOFT\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook"

- Tlem
- Site Admin
- Messages : 11793
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [R] Script Sauvegarde PSt
Sous DOS, faites :et envoyez moi le fichier C:\Outlook.reg.
Ou si vous savez le faire, faites cet export à partir du Regedit.
Code : Tout sélectionner
REG EXPORT "HKCU\SOFTWARE\MICROSOFT\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook" 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é".
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é".
Re: [R] Script Sauvegarde PSt
Bonjour
Ok je vous envoie ça demain ^^ merci de votre aide
Ok je vous envoie ça demain ^^ merci de votre aide
Re: [R] Script Sauvegarde PSt
lu all
Tlem je t envoi le lien pour récupérer le outlook.reg
Merci
Tlem je t envoi le lien pour récupérer le outlook.reg
Merci
-
- Niveau 11
- Messages : 1826
- Enregistré le : lun. 23 juil. 2007 12:31
- Localisation : Bureau
- Status : Hors ligne
Re: [R] Script Sauvegarde PSt
Binaire ?
Une fonction de conversion existe sous autoit du moins j'espere ^^"
bonne continuation
Une fonction de conversion existe sous autoit
Code : Tout sélectionner
BinaryToString ( expression [, flag] )
bonne continuation

- Tlem
- Site Admin
- Messages : 11793
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [R] Script Sauvegarde PSt
Voici une piste :
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.
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 ne sais pas pourquoi les infos sont stockées de cette manière, mais bon je suis sur que vous allez y arriver.

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é".
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é".
Re: [R] Script Sauvegarde PSt
Salut
Merci beaucout t assure trop
selon mes premiers tout fonctionne a merveille ^^ j'etend mes tests sur d'autre postes
Merci à bientot
Merci beaucout t assure trop

Merci à bientot
Re: [R] Script Sauvegarde PSt
Op me voici de retour ^^ C'est génial ça marche ^^
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
@+

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
@+
- Tlem
- Site Admin
- Messages : 11793
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [R] Script Sauvegarde PSt
Utilisez ceci : _PathSplit
Regardez dans la doc comment vous en servir.
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é".
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é".
Re: [R] Script Sauvegarde PSt
Génial !!!!!!!!!!!!!
Merci
Voici mon code à jours

Merci

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
;===============================================================================
;===============================================================================
Re: [R] Script Sauvegarde PSt
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 :
Pouvez vous m aider, merci
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
- Tlem
- Site Admin
- Messages : 11793
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [R] Script Sauvegarde PSt
Il n'y a pas de problème, il vous suffit de rajouter les conditions à la suite du bloc de code concernant le :
Ca donnerait un truc comme ca :
Code : Tout sélectionner
If $CMDLINE[1] = "S" Then
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é".
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é".
Re: [R] Script Sauvegarde PSt
Je suis vraiment désolé de t embeter encore ....
j ai fais ma modif' mais ça ne va pas ... j ai l impression que met le bazard ....
Voici ce que j'ai fait :

j ai fais ma modif' mais ça ne va pas ... j ai l impression que
Code : Tout sélectionner
$Pid = Run(@ScriptName & ' S')
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
;===============================================================================
;===============================================================================