manta7
Messages postés105Date d'inscriptionsamedi 25 janvier 2003StatutMembreDernière intervention13 décembre 2008
-
24 juin 2003 à 18:55
Maegis
Messages postés101Date d'inscriptionvendredi 15 février 2002StatutMembreDernière intervention 6 août 2007
-
25 juin 2003 à 09:15
Bonjour un personne m'a donne cette source pour connaitre la taille d'un fichier :
DWORD taille = GetFileSize(hfl, 0);
mais comme je suis un gros NewB, je voudrais savoir comment s'en servir, ex taille de C:\autoexec.bat.
Maegis
Messages postés101Date d'inscriptionvendredi 15 février 2002StatutMembreDernière intervention 6 août 2007 25 juin 2003 à 09:15
Bon si tu dis que tu est un gros newbie je vais t'expliquer un peu plus
la fonction GetFileSize prend comme parametre un handle de fichier et un pointer vers un DWORD qui contientra la partie haute de la taille du fichier (si c'est un fichier de moins de 4GO tu t'en fout) en fait tout ce qu'il faut c'est ce handle de fichier.Pour l'avoir tu ouvre le fichier avec CreateFile
CreateFile("c:\\autoexec.bat", //chemin du ficher
GENERIC_READ, //ou pour ecrire GENERIC_WRITE
FILE_SHARE_READ, /*la c'est pour le partage du fichier en fait si tu veux que le fichier puisse etre ouvert par une autre application en lecture tu met le FILE_SHARE_READ en ecriture c'est FILE_SHARE_WRITE et si tu ne veut pas qu'on l'ouvre tu met 0*/
NULL,//pour les parametre de securite (on s'en fout)
OPEN_EXISTING, /*ouvre le fichier que s'il existe il y a aussi OPEN_ALWAYS, CREATE_NEW,CREATE_ALWAYS*/
FILE_ATTRIBUTE_NORMAL, /*la c'est les attributs du fichier : caché,lecture seule, system,archive et les modes d'ouverture (yen a plein)*/
NULL); //un modele de fichier on en a pas besoin
Cette fonction retourne le handle de fichier si elle a réussi a l'ouvrir sinon elle renvoye INVALID_HANDLE_VALUE
par exemple pour savoir la taille de autoexec
#include <windows.h>
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
DWORD taille;
HANDLE fichier;