Bonjour,
dans mon projet j'ai une méthode qui permet de compresser un dossier.
et je dois faire apparaitre la progression de cette compression dans une progress bar.
comment je compresse:
je voudrai savoir comment je peux faire pour que ma progress bar représente la progression de ma compression.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 SetCurrentDirectory("C:\\temp"); SHELLEXECUTEINFO sei; ZeroMemory(&sei, sizeof(SHELLEXECUTEINFO)); sei.cbSize = sizeof(SHELLEXECUTEINFO ); sei.lpFile = "zip.exe"; sei.fMask = SEE_MASK_NOCLOSEPROCESS; sei.lpVerb = TEXT("open"); sei.nShow = SW_HIDE; CString aa =" -r "+prestation+ ".zip \"program files"; sei.lpParameters = aa; if(ShellExecuteEx(&sei)) { WaitForSingleObject(sei.hProcess, INFINITE); } ::CloseHandle(sei.hProcess);
mon idée: calculer la taille du dossier s'il était compressé, et avoir la taille du fichier compressé qui est en train d'etre créé. et au fur et a mesure que la faille de fichier grossit ma progress bar se rempli...
cependant:
-comment je peux faire pour trouver la taille présumé du dossier s'il était compressé?
- comment je peux faie pour trouver la taille du fichier compressé qui est en train d'être créé et cela "au cours du temp"... est ce qu'il faut un timer ou... est-ce qu'il existe une methode précise??
pour la taille des fichier.. j'ai trouvé les méthode "getfilesize" et "getcompressedfilesize".
mais je comprends pas les parametres.. ni ce que fait la méthode "getcompressedfilesize"
pouvez-vous m'aider s'il vous plait c'est vraiment important j'ai plus beaucoup de temps pour terminé mon projet
Partager