Thanks, but to be honest i have tried already those. if i use msgbox inide the function as below it works. I mean it shows the path..
this may make you to be frustrated for giving bit and piece information so i give my entire code here..
#RequireAdmin
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=database-next.ico
#AutoIt3Wrapper_Res_Comment=Data Restoration Utility
#AutoIt3Wrapper_Res_Description=Data Restoration Utility
#AutoIt3Wrapper_Res_Fileversion=1.0.0.1
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=p
#AutoIt3Wrapper_Res_LegalCopyright=Site Support Team
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
://////=__=
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiTreeView.au3>
#include <TreeViewConstants.au3>
#include "_XMLDomWrapper.au3"
#include "GIFAnimation.au3" ;
#include "GDIpProgress.au3"
#include <GuiRichEdit.au3>
#include <EditConstants.au3>
#include <WinAPI.au3>
#include "Bit.au3"
#include <ComboConstants.au3>
#include"Array.au3"
#include"Pst.au3"
#include<File.au3>
#include <ProgressConstants.au3>
#include"ReduceMemory.au3"
#include <_LargeFileCopy.au3>
#include "RecFileListToArray.au3"
#include "ExtMsgBox.au3"
#include "Marquee.au3"
Opt('TrayAutoPause', 0)
Global $DocER = 0
Global $Docsel = 0
Global $tri = 0
Global $Err_msg = _WinAPI_GetLastErrorMessage()
FileInstall("C:UsersQ03200Desktoptick.jpg", @ScriptDir & "tick.jpg", 1)
FileInstall("C:UsersQ03200Desktoperror.jpg", @ScriptDir & "error.jpg", 1)
FileInstall("C:UsersQ03200Desktopinfo.jpg", @ScriptDir & "info.jpg", 1)
HotKeySet("{F1}", "about")
FileInstall("C:UsersQ03200DesktopLocation.xml", @ScriptDir & "Location.xml", 1)
Global $iStyle = BitOR($TVS_EDITLABELS, $TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS, $TVS_CHECKBOXES)
Global $hItem, $hTreeView
Global $Copy = False
Global $TickFile = @ScriptDir & "tick.jpg"
Global $ErrorFile = @ScriptDir & "error.jpg"
Global $info = @ScriptDir & "info.jpg"
Global $GetpathArray[20]
Global $About, $Aboutitem, $check, $ret
Global $BaseGUI, $Sourcedrive, $ErrorLabel, $DrivePath, $DestDrive, $DestPath, $aArray, $OS, $OSver, $i, $s, $processviewer, $DESK, $FAV, $OFF, $AVA, $CRYPTO, $PSTS, $Others
Global $StartButton, $CancelButton, $msg, $users, $prog, $m, $numberOfChannels, $file, $pst, $hGIF, $Comment, $State, $data, $Destfav, $Sourcefav, $Desktop, $Favorites
Global $DocsAr, $mds, $Sourcedocs, $Destdocs, $SourceTrans, $Trans, $DestTrans, $Mydocs, $Transfer, $iMemo, $Label, $Appdata, $AVAya, $Docs, $md, $SourceDesk, $DestDesk, $mf, $mo
Global $ma, $mc, $mt, $t, $te, $split, $subtime = 0
Global $Title = "Data Copying Utility"
Global $aTSR = _GetTotalScreenResolution
()
Global $Log = @ProgramFilesDir & "Enterprise DesktopLogsDRU.log"
Global $iProgress_1, $z = 0
Global $filedest = "C:TempwaitAnimated.gif"
Global $Net = 0
Global $DRI = 0, $DER = 0
Global $Desktop, $TransDest, $Transource, $TransPercent, $join
FileInstall("C:UsersQ03200DesktopwaitAnimated.gif", $filedest, 1)
$BaseGUI = GUICreate($Title, 750, 570, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_GROUP, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU))
GUISetBkColor(0xFAFAFA)
$Sourcedrive = GUICtrlCreateLabel("Select the Source Drive", 10, 10, 120, 40)
$ErrorLabel = GUICtrlCreateLabel("", 10, 440, 480, 40)
GUICtrlSetState(-1, $GUI_HIDE)
$DrivePath = GUICtrlCreateCombo("C:", 135, 5, 60, 50, $CBS_DROPDOWNLIST)
$DestDrive = GUICtrlCreateLabel("Data Destination Location", 230, 10, 200, 40)
$DestPath = GUICtrlCreateCombo("C:", 370, 5, 60, 50, $CBS_DROPDOWNLIST)
$aArray = DriveGetDrive("ALL")
$OS = GUICtrlCreateLabel("Select Source OS", 475, 10, 100, 40)
$OSver = GUICtrlCreateCombo("Win 7-64 Bit", 570, 5, 110, 50, $CBS_DROPDOWNLIST)
GUICtrlSetData($OSver,"Win 7-32 Bit")
GUICtrlSetData($OSver, StringUpper("XP"))
If @error Then
; An error occurred when retrieving the drives.
MsgBox(16, $Title & "DriveGetDrive", "Error occured while trying to fetch the drive details.")
Exit
Else
For $i = 1 To $aArray[0] ; Show all the drives found and convert the drive letter to uppercase.
If $aArray[$i] <> "C:" Then
GUICtrlSetData($DrivePath, StringUpper($aArray[$i]))
EndIf
Next
EndIf
$processviewer = GUICtrlCreateGroup("Restore Options", 10, 40, 280, 340)
$Mydocs = GUICtrlCreateCheckbox("My Documents", 160, 70, 100, 40)
$Transfer = GUICtrlCreateCheckbox("All", 30, 70, 100, 40)
$Unckec = GUICtrlCreateCheckbox("UnCheck All", 30, 60, 100, 40)
GUICtrlSetState(-1,$GUI_HIDE)
$DESK = GUICtrlCreateCheckbox("Desktop", 30, 120, 100, 40)
$FAV = GUICtrlCreateCheckbox("Favorites", 30, 170, 100, 40)
$OFF = GUICtrlCreateCheckbox("Office Settings", 30, 220, 100, 40)
$AVA = GUICtrlCreateCheckbox("Avaya", 160, 120, 100, 40)
$CRYPTO = GUICtrlCreateCheckbox("Crypto Soft Token", 160, 170, 120, 40)
$PSTS = GUICtrlCreateCheckbox("PST Files", 160, 220, 100, 40)
$StartButton = GUICtrlCreateButton("Restore", 15, 490, 60, 40)
$CancelButton = GUICtrlCreateButton("Exit", 200, 490, 60, 40)
$Profiles = GUICtrlCreateLabel("Select Folder", 30, 285, 100, 40)
$ProfileBox = GUICtrlCreateCombo("", 160, 280, 100, 40, $CBS_DROPDOWNLIST)
GUICtrlSetstate($ProfileBox,$GUI_DISABLE)
$processviewer = GUICtrlCreateGroup("", 360, 40, 370, 340)
GUICtrlSetData($processviewer, "Result Viewer")
;option()
;GUIDelete($hGui)
$iProgress_1 = GUICtrlCreateProgress(370, 500, 240, 20, $PBS_MARQUEE)
GUICtrlSetState($iProgress_1, $GUI_HIDE)
$Label = GUICtrlCreateLabel("", 370, 430, 200, 40)
$hMarquee = _GUICtrlMarquee
_Create
("Contact "&'"'&"syed.ibrahim@kcc.com"&'" for any suggestion/issues...', 10, 510,300, 20)
GUICtrlSetState(-1,$GUI_HIDE)
;_ProgressSetText($iProgress_1, "Checking...")
;_ProgressMarquee($iProgress_1, 2, 0)
GUISetState()
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
_FileWriteLog($Log, "DRU>INFO>Launch>Tool Launched!")
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Or $msg = $CancelButton Then
FileDelete(@ScriptDir & "Location.xml")
FileDelete(@ScriptDir & "tick.jpg")
FileDelete(@ScriptDir & "error.jpg")
FileDelete(@ScriptDir & "info.jpg")
_GUICtrlTreeView_Destroy($hTreeView)
_GUICtrlRichEdit_Destroy($iMemo)
_FileWriteLog($Log, "DRU>INFO>Exit>User Selected Exit option. Tool closed successfully!")
Exit
EndIf
If $msg = $GUI_EVENT_PRIMARYDOWN Then
Local $tMPos = _WinAPI_GetMousePos(True, $hTreeView)
Local $tHitTest = _GUICtrlTreeView_HitTestEx($hTreeView, DllStructGetData($tMPos, 1), DllStructGetData($tMPos, 2))
Local $iFlags = DllStructGetData($tHitTest, "Flags")
Select
Case BitAND($iFlags, $TVHT_ONITEMSTATEICON)
Local $hItem = _GUICtrlTreeView_HitTestItem($hTreeView, DllStructGetData($tMPos, 1), DllStructGetData($tMPos, 2))
Local $fChecked = False
If _GUICtrlTreeView_GetChecked($hTreeView, $hItem) Then $fChecked = True
_TvCheckbox
($hItem, $fChecked)
; EndSelect
EndSelect
EndIf
If $msg = $DrivePath Then
If GUICtrlRead($DrivePath) <> "" Then
GUICtrlSetstate($ProfileBox,$GUI_ENABLE)
GUICtrlSetData($ProfileBox,"")
Local $FileList = _FileListToArray(GUICtrlRead($DrivePath)&"", "*.*", 2)
For $i = 1 To UBound($FileList) - 1
GUICtrlSetData($ProfileBox, $FileList[$i]&@CRLF)
Next
Else
GUICtrlSetData($ErrorLabel, "Source directory can not be Blank. Please select the correct drive.")
GUICtrlSetColor($ErrorLabel, 0xff0000)
GUICtrlSetState($ErrorLabel, $GUI_SHOW)
_FileWriteLog($Log, "DRU>Warning>Source Drive Status>User Selected Blank drive - !" & GUICtrlRead($DrivePath))
EndIf
EndIf
If $msg = $ProfileBox Then
profilebox
()
EndIf
If $msg = $Transfer Then
GUICtrlSetState($Transfer,$GUI_UNCHECKED)
GUICtrlSetState($Transfer,$GUI_HIDE)
GUICtrlSetState($Unckec,$GUI_SHOW)
GUICtrlSetState($Mydocs,$GUI_CHECKED)
GUICtrlSetState($DESK,$GUI_CHECKED)
GUICtrlSetState($FAV,$GUI_CHECKED)
GUICtrlSetState($AVA,$GUI_CHECKED)
GUICtrlSetState($CRYPTO,$GUI_CHECKED)
GUICtrlSetState($PSTS,$GUI_CHECKED)
GUICtrlSetState($OFF,$GUI_CHECKED)
EndIf
If $msg = $Unckec Then
GUICtrlSetState($Unckec,$GUI_UNCHECKED)
GUICtrlSetState($Unckec,$GUI_HIDE)
GUICtrlSetState($Transfer,$GUI_SHOW)
GUICtrlSetState($Mydocs,$GUI_UNCHECKED)
GUICtrlSetState($DESK,$GUI_UNCHECKED)
GUICtrlSetState($FAV,$GUI_UNCHECKED)
GUICtrlSetState($AVA,$GUI_UNCHECKED)
GUICtrlSetState($CRYPTO,$GUI_UNCHECKED)
GUICtrlSetState($PSTS,$GUI_UNCHECKED)
GUICtrlSetState($OFF,$GUI_UNCHECKED)
EndIf
If $msg = $StartButton Then
process
()
;GUICtrlSetState($iProgress_1, $GUI_SHOW)
If $check = 1 Then
_GUICtrlRichEdit
_WriteLine
($iMemo, "Task has been completed! " & @CRLF, "", "", 0x008000)
GUICtrlSetState($iProgress_1, $GUI_HIDE)
out
()
GUISetState(@SW_SHOWNORMAL, $BaseGUI)
GUICtrlSetState($StartButton, $GUI_HIDE)
GUICtrlSetState($hMarquee,$GUI_SHOW)
GUICtrlSetPos($CancelButton, 590, 490, 150, 60)
ElseIf $check = -1 Then
GUICtrlSetState($iProgress_1, $GUI_HIDE)
GUICtrlSetState($hMarquee,$GUI_HIDE)
EndIf
EndIf
WEnd
Func out
()
GUICtrlSetState($DrivePath, $GUI_DISABLE)
GUICtrlSetState($DestPath, $GUI_DISABLE)
GUICtrlSetState($Unckec, $GUI_DISABLE)
GUICtrlSetState($ProfileBox, $GUI_DISABLE)
GUICtrlSetState($OSver, $GUI_DISABLE)
If GUICtrlRead($Mydocs) <> 1 Then
GUICtrlSetState($Mydocs, $GUI_DISABLE)
EndIf
If GUICtrlRead($Transfer) <> 1 Then
GUICtrlSetState($Transfer, $GUI_DISABLE)
EndIf
If GUICtrlRead($DESK) <> 1 Then
GUICtrlSetState($DESK, $GUI_DISABLE)
EndIf
If GUICtrlRead($FAV) <> 1 Then
GUICtrlSetState($FAV, $GUI_DISABLE)
EndIf
If GUICtrlRead($OFF) <> 1 Then
GUICtrlSetState($OFF, $GUI_DISABLE)
EndIf
If GUICtrlRead($AVA) <> 1 Then
GUICtrlSetState($AVA, $GUI_DISABLE)
EndIf
If GUICtrlRead($CRYPTO) <> 1 Then
GUICtrlSetState($CRYPTO, $GUI_DISABLE)
EndIf
If GUICtrlRead($PSTS) <> 1 Then
GUICtrlSetState($PSTS, $GUI_DISABLE)
EndIf
EndFunc ;==>out
Func profilebox
()
_GUICtrlTreeView_Destroy($hTreeView)
If GUICtrlRead($DrivePath) <> "" Then
GUICtrlSetData($ErrorLabel, "")
GUICtrlSetState($ErrorLabel, $GUI_HIDE)
GUICtrlSetData($processviewer, "Tree Viewer")
_GUICtrlRichEdit_Destroy($iMemo)
$hTreeView = _GUICtrlTreeView_Create($BaseGUI, 370, 70, 340, 300, $iStyle, $WS_EX_CLIENTEDGE)
_GUICtrlTreeView_BeginUpdate($hTreeView)
$aArray = _RecFileListToArray
(GUICtrlRead($DrivePath)&""&GUICtrlRead($ProfileBox))
$hItem = _GUICtrlTreeView_Add($hTreeView, 0, GUICtrlRead($DrivePath)&""&GUICtrlRead($ProfileBox) & "")
_GUICtrlTreeView_SetState($hTreeView, $hItem, $TVIS_EXPANDED)
_ArrayDisplay($aArray)
For $x = 1 To UBound($aArray) - 1
; For $y = 1 To Random(2, 10, 1)
$So = _GUICtrlTreeView_AddChild($hTreeView, $hItem, $aArray[$x])
$Laray = _RecFileListToArray
(GUICtrlRead($DrivePath)&""&GUICtrlRead($ProfileBox)&"" & $aArray[$x])
For $Y = 1 To UBound($Laray) - 1
_GUICtrlTreeView_AddChild($hTreeView, $So, $Laray[$Y])
Next
; Next
Next
_GUICtrlTreeView_EndUpdate($hTreeView)
Else
GUICtrlSetData($ErrorLabel, "Source directory can not be Blank. Please select the correct drive.")
GUICtrlSetColor($ErrorLabel, 0xff0000)
GUICtrlSetState($ErrorLabel, $GUI_SHOW)
GUICtrlSetState($Transfer, $GUI_UNCHECKED)
_FileWriteLog($Log, "DRU>Warning>Source Drive Status>User Selected Blank drive - !" & GUICtrlRead($DrivePath))
EndIf
EndFunc
Func process
()
$a = _GUICtrlTreeView_GetTree($hTreeView)
_FileWriteLog($Log, "DRU>INFO>Process>User Selected Process option")
_check
()
If $ret >= 1 Then
If GUICtrlRead($OSver) = "XP" Then
;Foldexist function defined on PST.au3
If Foldexist
(GUICtrlRead($DrivePath) & "Drivers") = True Then
$users = "Documents and Settings"
$prog = "Program Files"
$Appdata = "Documents and Settings" & @UserName & "Application DataMicrosoft"
$AVAya = "Documents and Settings" & @UserName & "Application DataAvaya"
$Docs = "Documents and Settings" & @UserName & "My Documents"
$check = 1
Else
MsgBox(48, "OS MisMatch!", "Operating System has been selected wrongly. Please select the appropriate one!")
EndIf
ElseIf GUICtrlRead($OSver) = "Win 7-64 Bit" Then
If Foldexist
(GUICtrlRead($DrivePath) & "Program Files (x86)") = True Then
$users = "Users"
$prog = "Program Files (x86)"
$Appdata = "Users" & @UserName & "AppDataRoamingMicrosoft"
$AVAya = "Users" & @UserName & "AppDataRoamingAvaya"
$Docs = "Users" & @UserName & "Documents"
$check = 1
Else
MsgBox(48, "OS MisMatch!", "Operating System has been selected wrongly. Please select the appropriate one!")
EndIf
ElseIf GUICtrlRead($OSver) = "Win 7-32 Bit" Then
If Foldexist
(GUICtrlRead($DrivePath) & "Program Files (x86)") = False And Foldexist
(GUICtrlRead($DrivePath) & "users") = True Then
$users = "Users"
$prog = "Program Files"
$Appdata = "Users" & @UserName & "AppDataRoamingMicrosoft"
$AVAya = "Users" & @UserName & "AppDataRoamingAvaya"
$Docs = "Users" & @UserName & "Documents"
$check = 1
Else
MsgBox(48, "OS MisMatch!", "Operating System has been selected wrongly. Please select the appropriate one!")
EndIf
EndIf
EndIf
If $check = 1 Then
If ProcessExists("outlook.exe") Then
Do
_ExtMsgBoxSet
(2, 0, -1, -1, 9, "Arial")
_ExtMsgBox
($MB_ICONEXCLAM, "Continue", "Open Application", "Outlook is Open. Please close the outlook and click on Continue.")
_ExtMsgBoxSet
(Default)
; MsgBox(48, "Open Application", "Outlook is running on this machine. In order restore data now the tool will close the outlook.")
; ;ProcessClose("outlook.exe")
; ;_FileWriteLog($Log, "DRU>Outlook process>PST>Outlook was running on this machine and killed the outlook")
Until ProcessExists("outlook.exe") = 0
EndIf
GUICtrlSetData($ErrorLabel, "")
_GUICtrlTreeView_Destroy($hTreeView)
GUICtrlSetData($processviewer, "Result Viewer")
$iMemo = _GUICtrlRichEdit_Create($BaseGUI, "******************************************************************************" & @CRLF, 370, 70, 340, 300, $ES_AUTOVSCROLL + $WS_VSCROLL + $ES_MULTILINE + $ES_READONLY)
_GUICtrlRichEdit
_WriteLine
($iMemo, "Restoring Data" & @CRLF, "", "", 0x000000)
_GUICtrlRichEdit
_WriteLine
($iMemo, "******************************************************************************" & @CRLF, "", "", 0x000000)
GUICtrlSetState($iProgress_1, $GUI_SHOW)
GUICtrlSendMsg($iProgress_1, $PBM_SETMARQUEE, True, 50)
If GUICtrlRead($Mydocs) = "1" Then
_GUICtrlRichEdit
_WriteLine
($iMemo, "Started copying MY Documents folder " & @CRLF, "", "", 0xFE2EF7)
$DocsAr = _RecFileListToArray
(GUICtrlRead($DrivePath) & $Docs & "", "*", 0, 1, 1)
If IsArray($DocsAr) Then
_GUICtrlRichEdit
_WriteLine
($iMemo, UBound($DocsAr) & " Files to be copied. Please wait... " & @CRLF, "", "", 0xFE2EF7)
For $i = 0 To UBound($DocsAr) - 1
_FileWriteLog($Log, "DRU>INFO>DOCS>Source location>" & GUICtrlRead($DrivePath) & $Docs & "" & $DocsAr[$i])
_FileWriteLog($Log, "DRU>INFO>DOCS>Destination location>" & "C:Users" & @UserName & "Documents" & "" & $DocsAr[$i])
; If StringInStr($DocsAr[$i], ".") <> 0 Then
$mds = _LargeFileCopy
(GUICtrlRead($DrivePath) & $Docs & "" & $DocsAr[$i], "C:Users" & @UserName & "Documents" & "" & $DocsAr[$i], BitOR(1, 2, 8))
If $mds = 1 Then
_FileWriteLog($Log, "DRU>INFO>DESKTOP - File Copy> copied the file - " & $DocsAr[$i])
$DRI = $DRI + 1
ElseIf $mds <> 1 Then
_FileWriteLog($Log, "DRU>ERROR>DESKTOP - File Copy>Failed to copy the file - >" & $DocsAr[$i] & " Error value = " & @error)
If @error = 1 Then
_FileWriteLog($Log, "DRU>WARNING>DESKTOP - File Copy>Failed to copy the file - >Failed to open source file, or source was a directory")
ElseIf @error = 2 Then
_FileWriteLog($Log, "DRU>WARNING>DESKTOP - File Copy>Failed to copy the file - >Destination file exists and overwrite flag not set")
ElseIf @error = 3 Then
_FileWriteLog($Log, "DRU>WARNING>DESKTOP - File Copy>Failed to copy the file - >Failed to create destination file")
$DER = $DER + 1
ElseIf @error = 4 Then
_FileWriteLog($Log, "DRU>WARNING>DESKTOP - File Copy>Failed to copy the file - >Read error during copy")
$DER = $DER + 1
ElseIf @error = 5 Then
_FileWriteLog($Log, "DRU>WARNING>DESKTOP - File Copy>Failed to copy the file - >Write error during copy")
$DER = $DER + 1
ElseIf @error = 6 Then
_FileWriteLog($Log, "DRU>WARNING>DESKTOP - File Copy>Failed to copy the file - >Verify failed")
$DER = $DER + 1
EndIf
EndIf
; Else
; _FileWriteLog($Log, "DRU>INFO>MY Docs>" & "Not in to the copy loop" & $DocsAr[$i])
; EndIf
Next
GUICtrlSetState($Mydocs, $GUI_HIDE)
$Sourcedocs = DirGetSize(GUICtrlRead($DrivePath) & $Docs)
$Destdocs = DirGetSize("C:Users" & @UserName & "Documents")
If Round($Destdocs / 1024 / 1024) = Round($Sourcedocs / 1024 / 1024) Then
_GUICtrlRichEdit
_WriteLine
($iMemo, "Documents Folder copied successfully " & @CRLF, "", "", 0x008000)
_FileWriteLog($Log, "DRU>INFO>DOCS>Documents folder copied successfully!")
GUICtrlCreatePic($TickFile, 160, 70, 16, 16)
GUICtrlCreateLabel("My Documents", 180, 70, 100, 30)
;MsgBox(0,"SIZE","Destination Size = " & Round($Destdocs / 1024 / 1024) &@CRLF&@CRLF&@CRLF&@CRLF& "Source Size = "& Round($Sourcedocs / 1024 / 1024))
; ElseIf $DER >= 1 Then
; _GUICtrlRichEdit_WriteLine($iMemo, "Some Files are not copied properly. Please copy it manually " & @CRLF, "", "", 0xCDA30C)
; _FileWriteLog($Log, "DRU>INFO>DOCS>Some files are not copied properly!")
ElseIf Round($Destdocs / 1024 / 1024) <> Round($Sourcedocs / 1024 / 1024) Then
GUICtrlCreatePic($ErrorFile, 160, 70, 16, 16)
GUICtrlCreateLabel("My Documents", 180, 70, 100, 30)
_GUICtrlRichEdit
_WriteLine
($iMemo, "Some Files are not copied properly. Please copy it manually! Also please send the log file to the tool Admin" & @CRLF, "", "", 0xFF0000)
_FileWriteLog($Log, "DRU>Error>DOCS>unable to copy MY Documents folder. Source Size = " & Round($Sourcedocs / 1024 / 1024) & ". Destination size = " & Round($Destdocs / 1024 / 1024) & ". Value of DER = " & $DER)
;MsgBox(0, "SIZE", "Destination Size = " & Round($Destdocs / 1024 / 1024) & @CRLF & @CRLF & @CRLF & @CRLF & "Source Size = " & Round($Sourcedocs / 1024 / 1024))
EndIf
Else
GUICtrlSetState($Mydocs, $GUI_HIDE)
GUICtrlCreatePic($TickFile, 160, 70, 16, 16)
GUICtrlCreateLabel("My Documents", 180, 70, 100, 30)
_GUICtrlRichEdit
_WriteLine
($iMemo, UBound($DocsAr) & " Files to be copied!" & @CRLF, "", "", 0x2E2EFE)
_FileWriteLog($Log, "DRU>Error>DOCS>Variable Documents does not return array value")
EndIf
$DER = 0
$DRI = 0
EndIf
If GUICtrlRead($DESK) = "1" Then
_GUICtrlRichEdit
_WriteLine
($iMemo, "Started copying Desktop folder " & @CRLF, "", "", 0xFE2EF7)
; $Dessel = 1
$Desktop = _RecFileListToArray
(GUICtrlRead($DrivePath) & $users & @UserName & "Desktop" & "", "*", 0, 1, 1)
If IsArray($Desktop) Then
_GUICtrlRichEdit
_WriteLine
($iMemo, UBound($Desktop) & " Files to be copied. Please wait... " & @CRLF, "", "", 0xFE2EF7)
;$md = DirCopy(GUICtrlRead($DrivePath) & $users & @UserName & $Comment[1], "C:users" & @UserName & $Comment[1], 1)
For $i = 0 To UBound($Desktop) - 1
_FileWriteLog($Log, "DRU>INFO>DESKTOP>Source location>" & GUICtrlRead($DrivePath) & $users & @UserName & "Desktop" & $Desktop[$i])
_FileWriteLog($Log, "DRU>INFO>DESKTOP>Destination location>" & @DesktopDir & "" & $Desktop[$i])
; If StringInStr($Desktop[$i], ".") <> 0 Then
$md = _LargeFileCopy
(GUICtrlRead($DrivePath) & $users & @UserName & "Desktop" & $Desktop[$i], @DesktopDir & "" & $Desktop[$i], BitOR(1, 2, 8))
If $md = 1 Then
_FileWriteLog($Log, "DRU>INFO>DESKTOP - File Copy> copied the file - " & $Desktop[$i])
$DRI = $DRI + 1
ElseIf $md <> 1 Then
_FileWriteLog($Log, "DRU>ERROR>DESKTOP - File Copy>Failed to copy the file - >" & $Desktop[$i] & " Error value = " & @error)
$DER = $DER + 1
EndIf
; Else
; _FileWriteLog($Log, "DRU>INFO>Desktop>" & "Not in to the copy loop" & $Desktop[$i])
; EndIf
Next
GUICtrlSetState($DESK, $GUI_HIDE)
$SourceDesk = DirGetSize(GUICtrlRead($DrivePath) & $users & @UserName & "Desktop")
$DestDesk = DirGetSize(@DesktopDir)
If Round($DestDesk / 1024 / 1024) = Round($SourceDesk / 1024 / 1024) Then
_GUICtrlRichEdit
_WriteLine
($iMemo, "Desktop Folder copied successfully " & @CRLF, "", "", 0x008000)
_FileWriteLog($Log, "DRU>INFO>Desktop>Desktop folder copied successfully!")
GUICtrlCreatePic($TickFile, 30, 120, 16, 16)
GUICtrlCreateLabel("Desktop", 50, 120, 100, 40)
;ElseIf $DER >= 1 Then
; _GUICtrlRichEdit_WriteLine($iMemo, "Some Files are not copied properly. Please copy it manually " & @CRLF, "", "", 0xCDA30C)
; _FileWriteLog($Log, "DRU>INFO>Desktop>Some files are not copied properly!")
ElseIf Round($DestDesk / 1024 / 1024) <> Round($SourceDesk / 1024 / 1024) Then
GUICtrlCreatePic($ErrorFile, 30, 120, 16, 16)
GUICtrlCreateLabel("Desktop", 50, 120, 100, 40)
_GUICtrlRichEdit
_WriteLine
($iMemo, "Some Files are not copied properly. Please copy it manually! Also please send the log file to the tool Admin" & @CRLF, "", "", 0xFF0000)
_FileWriteLog($Log, "DRU>Error>Desktop>unable to copy Desktop folder. Source Desk Size = " & Round($SourceDesk / 1024 / 1024) & ". Destination size = " & Round($DestDesk / 1024 / 1024) & ". Value of DER = " & $DER)
EndIf
Else
GUICtrlSetState($DESK, $GUI_HIDE)
GUICtrlCreatePic($TickFile, 30, 120, 16, 16)
GUICtrlCreateLabel("Desktop", 50, 120, 100, 30)
_GUICtrlRichEdit
_WriteLine
($iMemo, UBound($Desktop) & " Files to be copied!" & @CRLF, "", "", 0x2E2EFE)
_FileWriteLog($Log, "DRU>Error>Desktop>Variable Desktop does not return array value")
EndIf
$DER = 0
$DRI = 0
EndIf
If GUICtrlRead($FAV) = "1" Then
$Favorites = _RecFileListToArray
(GUICtrlRead($DrivePath) & $users & @UserName & "Favorites" & "", "*", 0, 1, 1)
If IsArray($Favorites) Then
_GUICtrlRichEdit
_WriteLine
($iMemo, UBound($Favorites) & " links to be copied. Please wait... " & @CRLF, "", "", 0xFE2EF7)
For $i = 0 To UBound($Favorites) - 1
$t = 0
$te = 0
_FileWriteLog($Log, "DRU>INFO>FAV>Source location - " & GUICtrlRead($DrivePath) & $users & @UserName & "Favorites" & $Favorites[$i])
_FileWriteLog($Log, "DRU>INFO>FAV>Destination location - " & "C:users" & @UserName & "Favorites" & $Favorites[$i])
;$mf = DirCopy(GUICtrlRead($DrivePath) & $users & @UserName & $Comment[1], "C:users" & @UserName & $Comment[1], 1)
; If StringInStr($Favorites[$i], ".") <> 0 Then
$t = TimerInit()
$mf = _LargeFileCopy
(GUICtrlRead($DrivePath) & $users & @UserName & "Favorites" & $Favorites[$i], @FavoritesDir & "" & $Favorites[$i], BitOR(1, 2, 8))
$te = TimerDiff($t)
If $mf = 1 Then
_FileWriteLog($Log, "DRU>INFO>FAV - File Copy> copied the file - " & $Favorites[$i])
$subtime = $subtime + ($te / 1000)
$DRI = $DRI + 1
ElseIf $mf <> 1 And StringInStr($Favorites[$i], ".") <> 0 Then
_FileWriteLog($Log, "DRU>ERROR>FAV - File Copy>Failed to copy the file - >" & $Favorites[$i] & " Error value = " & $mf)
$DER = $DER + 1
EndIf
; Else
; _FileWriteLog($Log, "DRU>WARNING>Favorites>" & "Not in to the copy loop" & $Favorites[$i])
; EndIf
Next
GUICtrlSetState($FAV, $GUI_HIDE)
$Sourcefav = DirGetSize(GUICtrlRead($DrivePath) & $users & @UserName & "Favorites")
$Destfav = DirGetSize(@FavoritesDir)
If Round($Destfav / 1024 / 1024) = Round($Sourcefav / 1024 / 1024) Then
GUICtrlCreatePic($TickFile, 30, 170, 16, 16)
GUICtrlCreateLabel("Favorites", 50, 170, 100, 30)
_GUICtrlRichEdit
_WriteLine
($iMemo, "Favorites Folder copied successfully " & @CRLF, "", "", 0x008000)
_FileWriteLog($Log, "DRU>INFO>FAV>FAV folder copied successfully!")
; ElseIf $DER >= 1 Then
; _GUICtrlRichEdit_WriteLine($iMemo, "Some Files are not copied properly. Please copy it manually " & @CRLF, "", "", 0xCDA30C)
; _FileWriteLog($Log, "DRU>INFO>FAV>Some files are not copied properly!")
ElseIf Round($Destfav / 1024 / 1024) <> Round($Sourcefav / 1024 / 1024) And $DER = 0 Then
GUICtrlCreatePic($ErrorFile, 30, 180, 16, 16)
GUICtrlCreateLabel("Favorites", 50, 180, 100, 30)
_GUICtrlRichEdit
_WriteLine
($iMemo, "Some Files are not copied properly. Please copy it manually! Also please send the log file to the tool Admin." & @CRLF, "", "", 0xFF0000)
_FileWriteLog($Log, "DRU>Error>FAV>unable to copy FAV folder. Source Size = " & Round($Sourcefav / 1024 / 1024) & ". Destination size = " & Round($Destfav / 1024 / 1024) & ". Value of DER = " & $DER)
EndIf
Else
GUICtrlSetState($FAV, $GUI_HIDE)
GUICtrlCreatePic($TickFile, 30, 180, 16, 16)
GUICtrlCreateLabel("Favorites", 50, 180, 100, 30)
_GUICtrlRichEdit
_WriteLine
($iMemo, UBound($Favorites) & " Files to be copied!" & @CRLF, "", "", 0x2E2EFE)
_FileWriteLog($Log, "DRU>Error>FAV>Variable FAV does not return array value")
EndIf
$DER = 0
$DRI = 0
_FileWriteLog($Log, "DRU>INFO>Time for Copying> copied the Favorites folder in " & $subtime & " Seconds")
EndIf
If GUICtrlRead($OFF) = "1" Then
_GUICtrlRichEdit
_WriteLine
($iMemo, "Started copying Office folder " & @CRLF, "", "", 0xFE2EF7)
$file = _XMLFileOpen
(@ScriptDir & "Location.xml")
$numberOfChannels = _XMLGetNodeCount
("/root/off")
For $s = 1 To $numberOfChannels Step +1
$Comment = _XMLGetChildText
("/root/off[" & $s & "]")
_ReduceMemory
()
$mo = DirCopy(GUICtrlRead($DrivePath) & $Appdata & $Comment[1], "C:users" & @UserName & "AppDataRoamingMicrosoft" & $Comment[1], 1)
_FileWriteLog($Log, "DRU>INFO>OFF>Source location - " & GUICtrlRead($DrivePath) & $Appdata & $Comment[1])
_FileWriteLog($Log, "DRU>INFO>OFF>Destination location - " & "C:users" & @UserName & "AppDataRoamingMicrosoft" & $Comment[1])
GUICtrlSetState($OFF, $GUI_HIDE)
If $mo = 1 Then
_GUICtrlRichEdit
_WriteLine
($iMemo, "Office Folder copied successfully " & $Comment & @CRLF, "", "", 0x008000)
_FileWriteLog($Log, "DRU>INFO>OFF>Office files Folder copied successfully - " & $Comment[1])
GUICtrlCreatePic($TickFile, 30, 220, 16, 16)
GUICtrlCreateLabel("Office Settings", 50, 220, 100, 30)
Else
_GUICtrlRichEdit
_WriteLine
($iMemo, "Unable to copy Office folder. Error - " & @error & $Comment & @CRLF, "", "", 0xFF0000)
_FileWriteLog($Log, "DRU>Error>OFF>unable to copy Office files folder - " & $Comment[1])
GUICtrlCreatePic($ErrorFile, 30, 220, 16, 16)
GUICtrlCreateLabel("Office Settings", 50, 220, 100, 30)
EndIf
Next
EndIf
If GUICtrlRead($AVA) = "1" Then
_GUICtrlRichEdit
_WriteLine
($iMemo, "Started copying Avaya folder " & @CRLF, "", "", 0xFE2EF7)
_FileWriteLog($Log, "DRU>INFO>Avaya>Started copying the Avaya folder")
$file = _XMLFileOpen
(@ScriptDir & "Location.xml")
$numberOfChannels = _XMLGetNodeCount
("/root/avaya")
For $s = 1 To $numberOfChannels Step +1
$Comment = _XMLGetChildText
("/root/avaya[" & $s & "]")
_ReduceMemory
()
$ma = DirCopy(GUICtrlRead($DrivePath) & $AVAya & $Comment[1], "C:users" & @UserName & "AppDataRoamingAvaya" & $Comment[1], 1)
_FileWriteLog($Log, "DRU>INFO>Avaya>Source location - " & GUICtrlRead($DrivePath) & $AVAya & $Comment[1])
_FileWriteLog($Log, "DRU>INFO>Avaya>Destination location - " & "C:users" & @UserName & "AppDataRoamingAvaya" & $Comment[1])
Next
GUICtrlSetState($AVA, $GUI_HIDE)
If $ma = 1 Then
GUICtrlCreatePic($TickFile, 160, 120, 16, 16)
GUICtrlCreateLabel("Avaya", 180, 120, 100, 30)
_GUICtrlRichEdit
_WriteLine
($iMemo, "Avaya Folder copied successfully " & $Comment & @CRLF, "", "", 0x008000)
_FileWriteLog($Log, "DRU>INFO>Avaya>Avaya Folder copied successfully ")
Else
GUICtrlCreatePic($ErrorFile, 160, 120, 16, 16)
GUICtrlCreateLabel("Avaya", 180, 120, 100, 30)
_GUICtrlRichEdit
_WriteLine
($iMemo, "Unable to copy Avaya folder. Error - " & @error & $Comment & @CRLF, "", "", 0xFF0000)
_FileWriteLog($Log, "DRU>Error>Avaya>unable to copy Avaya folder")
EndIf
EndIf
If GUICtrlRead($CRYPTO) = "1" Then
_GUICtrlRichEdit
_WriteLine
($iMemo, "Started copying Crypto folder " & @CRLF, "", "", 0xFE2EF7)
_FileWriteLog($Log, "DRU>INFO>CRYPTO>Started copying the Crypto folder")
$file = _XMLFileOpen
(@ScriptDir & "Location.xml")
$numberOfChannels = _XMLGetNodeCount
("/root/cryp")
For $s = 1 To $numberOfChannels Step +1
$Comment = _XMLGetChildText
("/root/cryp[" & $s & "]")
_ReduceMemory
()
_FileWriteLog($Log, "DRU>INFO>Crypto>Source location - " & GUICtrlRead($DrivePath) & $prog & $Comment[1])
_FileWriteLog($Log, "DRU>INFO>Crypto>Destination location - " & @ProgramFilesDir & "" & $Comment[1])
$mc = DirCopy(GUICtrlRead($DrivePath) & $prog & $Comment[1], @ProgramFilesDir & "" & $Comment[1], 1)
GUICtrlSetState($CRYPTO, $GUI_HIDE)
If $mc = 1 Then
GUICtrlCreatePic($TickFile, 160, 170, 16, 16)
GUICtrlCreateLabel("Crypto Soft Token", 180, 170, 100, 30)
_GUICtrlRichEdit
_WriteLine
($iMemo, "Crypto Folder copied successfully " & @CRLF, "", "", 0x008000)
_FileWriteLog($Log, "DRU>INFO>Crypto>Crypto folder copied successfully")
Else
GUICtrlCreatePic($ErrorFile, 160, 170, 16, 16)
GUICtrlCreateLabel("Crypto Soft Token", 180, 170, 100, 30)
_GUICtrlRichEdit
_WriteLine
($iMemo, "Unable to copy Crypto folder. Error - " & @error & $Comment & @CRLF, "", "", 0xFF0000)
_FileWriteLog($Log, "DRU>Error>Crypto>unable to copy Crypto folder")
EndIf
Next
EndIf
If GUICtrlRead($PSTS) = "1" Then
_GUICtrlRichEdit
_WriteLine
($iMemo, "Searching for PST file. Please wait.... " & @CRLF, "", "", 0x0000FF)
$pst = _RecFileListToArray
(GUICtrlRead($DrivePath), "*.pst", 1, 1)
_FileWriteLog($Log, "DRU>INFO>PST>Started copying PST Files")
_GUICtrlRichEdit
_WriteLine
($iMemo, UBound($pst) & " PST files need to be copied! " & @CRLF, "", "", 0xFE2EF7)
If IsArray($pst) Then
For $i = 0 To UBound($pst) - 1
$t = 0
$te = 0
If StringInStr($pst[$i], ".") <> 0 Then
_FileWriteLog($Log, "DRU>INFO>PST>Source location - " & GUICtrlRead($DrivePath) & "" & $pst[$i])
$t = TimerInit()
; If StringInStr($pst[$i], "Local SettingsApplication DataMicrosoftOutlook") <> 0 Or StringInStr($pst[$i], "AppDataLocalMicrosoftOutlook") <> 0 Then
; $split = StringSplit($pst[$i], "")
; $m = _LargeFileCopy(GUICtrlRead($DrivePath) & "" & $pst[$i], "C:users" & @UserName & "AppDataLocalMicrosoftOutlook" & $split[UBound($split) - 1], BitOR(1, 2, 8))
; $te = TimerDiff($t)
; Else
; $t = TimerInit()
$m = _LargeFileCopy
(GUICtrlRead($DrivePath) & "" & $pst[$i], "C:" & $pst[$i], BitOR(1, 2, 8))
$te = TimerDiff($t)
; EndIf
If $m = 1 Then
_FileWriteLog($Log, "DRU>INFO>PST - File Copy> copied the file - " & $pst[$i])
_FileWriteLog($Log, "DRU>INFO>Time for Copying> copied the file - " & $pst[$i] & " in " & $te / 1000 & " Seconds")
$DRI = $DRI + 1
ElseIf $m <> 1 And StringInStr($pst[$i], ".") <> 0 Then
_FileWriteLog($Log, "DRU>ERROR>PST - File Copy>Failed to copy the file - >" & $pst[$i] & " Error value = " & $m)
$DER = $DER + 1
EndIf
Else
_FileWriteLog($Log, "DRU>INFO>Favorites>" & "Not in to the copy loop" & $pst[$i])
EndIf
Next
Else
_FileWriteLog($Log, "DRU>Error>PST>Variable PST does not return array value")
EndIf
GUICtrlSetState($PSTS, $GUI_HIDE)
GUICtrlCreatePic($TickFile, 160, 220, 16, 16)
GUICtrlCreateLabel("PST Files", 180, 220, 100, 30)
EndIf
If GUICtrlRead($ProfileBox) <> "" Then
_GUICtrlRichEdit
_WriteLine
($iMemo, "Collecting Others folder details. Please wait.... " & @CRLF, "", "", 0x0000FF)
If IsArray($GetpathArray) Then
For $ta = 0 To UBound($GetpathArray) - 1
If $GetpathArray[$ta] <> "" Then
$Trans = _RecFileListToArray
($GetpathArray[$ta] & "", "*", 0, 1, 1)
If IsArray($Trans) Then
_GUICtrlRichEdit
_WriteLine
($iMemo, UBound($Trans) & " Files to be copied. Please wait... " & @CRLF, "", "", 0xFE2EF7)
For $i = 0 To UBound($Trans) - 1
_FileWriteLog($Log, "DRU>INFO>Transfer>Source location>" & $GetpathArray[$ta] & "" & $Trans[$i])
_FileWriteLog($Log, "DRU>INFO>Transfer>Destination location>" & "C:" & $Trans[$i])
; If StringInStr($Desktop[$i], ".") <> 0 Then
$md = _LargeFileCopy
($GetpathArray[$ta] & "" & $Trans[$i], "C:" & $Trans[$i], BitOR(1, 2, 8))
If $md = 1 Then
_FileWriteLog($Log, "DRU>INFO>Transfer - File Copy> copied the file - " & $Trans[$i])
$DRI = $DRI + 1
ElseIf $md <> 1 Then
_FileWriteLog($Log, "DRU>ERROR>Transfer - File Copy>Failed to copy the file - >" & $Trans[$i] & " Error value = " & @error)
$DER = $DER + 1
EndIf
; Else
; _FileWriteLog($Log, "DRU>INFO>Desktop>" & "Not in to the copy loop" & $Desktop[$i])
; EndIf
Next
Else
_GUICtrlRichEdit
_WriteLine
($iMemo, UBound($Desktop) & " Files to be copied!" & @CRLF, "", "", 0x2E2EFE)
_FileWriteLog($Log, "DRU>Error>Transfer>Variable Desktop does not return array value")
EndIf
EndIf
Next
Else
_FileWriteLog($Log, "DRU>Error>Transfer>Variable Desktop does not return array value")
EndIf
EndIf
Else
GUICtrlSetState($iProgress_1, $GUI_HIDE)
EndIf
EndFunc ;==>process
Func _check
()
If DriveGetType(GUICtrlRead($DrivePath)) <> "Fixed" And $msg = $StartButton Then
;MsgBox(48,"Source Drive Warning!","Source directory can not be a Network drive. Please select the correct drive.")
GUICtrlSetData($ErrorLabel, "Source directory can not be a Network/Optical drive. Please select the correct drive.")
GUICtrlSetColor($ErrorLabel, 0xff0000)
GUICtrlSetState($ErrorLabel, $GUI_SHOW)
_FileWriteLog($Log, "DRU>Warning>Source Drive Status>User Selected Network/Optical drive - !" & GUICtrlRead($DrivePath))
ElseIf (GUICtrlRead($DrivePath)) = "" And $msg = $StartButton Then
GUICtrlSetData($ErrorLabel, "Source directory can not be Blank. Please select the correct drive.")
GUICtrlSetColor($ErrorLabel, 0xff0000)
GUICtrlSetState($ErrorLabel, $GUI_SHOW)
_FileWriteLog($Log, "DRU>Warning>Source Drive Status>User Selected Blank drive - !" & GUICtrlRead($DrivePath))
Else
GUICtrlSetData($ErrorLabel, "")
If GUICtrlRead($ProfileBox) = "" And GUICtrlRead($DESK) <> 1 And GUICtrlRead($FAV) <> 1 And GUICtrlRead($OFF) <> 1 And GUICtrlRead($AVA) <> 1 And GUICtrlRead($CRYPTO) <> 1 And GUICtrlRead($PSTS) <> 1 And GUICtrlRead($Others) <> 1 And GUICtrlRead($Transfer) <> 1 And GUICtrlRead($Mydocs) <> 1 Then
MsgBox(48, "Restor Option Warning!", "Atleast one option should be selected in Restore option")
GUICtrlSetState($iProgress_1, $GUI_HIDE)
_FileWriteLog($Log, "DRU>Warning>Options>Atleast one option should be selected - !")
Else
$ret = 1
EndIf
EndIf
EndFunc ;==>_check
Func _GUICtrlRichEdit
_WriteLine
($hWnd, $sText, $iIncrement = 0, $sAttrib = "", $iColor = -1)
; Count the @CRLFs
StringReplace(_GUICtrlRichEdit_GetText($hWnd, True), @CRLF, "")
Local $iLines = @extended
; Adjust the text char count to account for the @CRLFs
Local $iEndPoint = _GUICtrlRichEdit_GetTextLength($hWnd, True, True) - $iLines
; Add new text
_GUICtrlRichEdit_AppendText($hWnd, $sText & @CRLF)
; Select text between old and new end points
_GUICtrlRichEdit_SetSel($hWnd, $iEndPoint, -1)
; Convert colour from RGB to BGR
$iColor = Hex($iColor, 6)
$iColor = '0x' & StringMid($iColor, 5, 2) & StringMid($iColor, 3, 2) & StringMid($iColor, 1, 2)
; Set colour
If $iColor <> -1 Then _GUICtrlRichEdit_SetCharColor($hWnd, $iColor)
; Set size
If $iIncrement <> 0 Then _GUICtrlRichEdit_ChangeFontSize($hWnd, $iIncrement)
; Set weight
If $sAttrib <> "" Then _GUICtrlRichEdit_SetCharAttributes($hWnd, $sAttrib)
; Clear selection
_GUICtrlRichEdit_Deselect($hWnd)
EndFunc ;==>_GUICtrlRichEdit_WriteLine
Func _TvCheckbox
($hTvItem, $fTvCheck)
;-------------- Going up the tree -----------------------------------
_TvCheckboxParent
($hTvItem, $fTvCheck)
;-------------- Going down the tree -----------------------------------
_TvCheckboxChild
($hTvItem, $fTvCheck)
;-------------- Loopping to the function to get the detail of selected tree -----------------------------------
_TvGetpath
($hTvItem, $fTvCheck)
EndFunc ;==>_TvCheckbox
Func _TvCheckboxChild
($hTvItem, $fTvCheck)
Local $hFirst, $hNext
$hFirst = _GUICtrlTreeView_GetFirstChild($hTreeView, $hTvItem)
If $hFirst Then
$hNext = $hFirst
While $hNext
_GUICtrlTreeView_SetChecked($hTreeView, $hNext, $fTvCheck)
If _GUICtrlTreeView_GetFirstChild($hTreeView, $hNext) Then
_TvCheckboxChild
($hNext, $fTvCheck)
EndIf
$hNext = _GUICtrlTreeView_GetNextSibling($hTreeView, $hNext)
WEnd
EndIf
EndFunc ;==>_TvCheckboxChild
Func _TvCheckboxParent
($hTvItem, $fTvCheck)
Local $hFirst, $hNext, $bCheckedFlag
If $fTvCheck Then
$hTvParent = _GUICtrlTreeView_GetParentHandle($hTreeView, $hTvItem)
If $hTvParent = 0 Then
_GUICtrlTreeView_SetChecked($hTreeView, $hTvItem, $fTvCheck)
Else
$hFirst = _GUICtrlTreeView_GetParentHandle($hTreeView, $hTvItem)
If $hFirst Then
$hNext = $hFirst
_GUICtrlTreeView_SetChecked($hTreeView, $hNext, $fTvCheck)
If _GUICtrlTreeView_GetParentHandle($hTreeView, $hNext) Then
_TvCheckboxParent
($hNext, $fTvCheck)
EndIf
EndIf
EndIf
Else
$hTvParent = _GUICtrlTreeView_GetParentHandle($hTreeView, $hTvItem)
If $hTvParent = 0 Then ; reached the top of the list
_GUICtrlTreeView_SetChecked($hTreeView, $hTvItem, $fTvCheck)
Else
$hNext = $hTvParent
; check to see if any siblings are checked
$hSibling = _GUICtrlTreeView_GetFirstChild($hTreeView, $hNext)
$bCheckedFlag = True
While $hSibling > 0
If _GUICtrlTreeView_GetChecked($hTreeView, $hSibling) Then
$bCheckedFlag = False
ExitLoop
EndIf
$hSibling = _GUICtrlTreeView_GetNextSibling($hTreeView, $hSibling)
WEnd
If $bCheckedFlag Then
_GUICtrlTreeView_SetChecked($hTreeView, $hNext, $fTvCheck)
EndIf
If _GUICtrlTreeView_GetParentHandle($hTreeView, $hNext) Then
_TvCheckboxParent
($hNext, $fTvCheck)
EndIf
EndIf
EndIf
EndFunc ;==>_TvCheckboxParent
Func WM
_NOTIFY
($hWnd, $msg, $wParam, $lParam)
Local $tNMHDR, $IdFrom, $iCode
$tNMHDR = DllStructCreate($tagNMHDR, $lParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$IdFrom = DllStructGetData($tNMHDR, "IdFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $hWndFrom
Case $hTreeView
Switch $iCode
Case $NM_CLICK
$fDblClk = True
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFY
Func about
()
MsgBox(64, "About", "Tool Name: Data Restoration Utlity" & @CRLF & @CRLF & @CRLF & "Software Used: Auto IT" & @CRLF & @CRLF & @CRLF & "For issue/Suggestions: Send an email to below EMAIL ID" & @CRLF & @CRLF & "syed.ibrahim@kcc.com")
EndFunc ;==>about
Func _TvGetpath
($hTvItem, $fTvCheck)
$GetpathArray[$z] = _GUICtrlTreeView_GetTree($hTreeView, $hTvItem)
$z += 1
EndFunc ;==>_TvGetpath