Bjr
je cherche à obtenir le numéro de série du disque système ce qui ne pose pas de pb particulier en associant GetEnvironmentVariable et GetVolumeInformation.
Les tests en environnements Xp sont satisfaisant
Sur un poste sous Seven en revanche, la chaine "c:" retournée par GetEnvironmentVariable("SystemDrive", déclenche l'erreur 123 (The filename, directory name, or volume label syntax is incorrect.)
Chose étonnante, si le programme est exécuté depuis une clé USB sur le poste sous Vista, l'erreur n'apparait pas.
Voici le code de la fonction incriminée
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 DWord __fastcall GetVolSerialNumber() { char VolName [MAXPATH]; char FileSysName [MAXPATH]; char Buffer [MAXPATH]; DWord VolSerial; DWord FileMaxLen; DWord FileFlags; GetEnvironmentVariable("SystemDrive",Buffer,MAXPATH); if (GetVolumeInformation(NULL,VolName,MAXPATH,&VolSerial,&FileMaxLen,&FileFlags,FileSysName,MAXPATH)) return VolSerial; else return 0; }
Partager