Determiner si un disque est bien un disque réseau
Publié : mer. 14/juil./2004 18:40
Quelqu'unj connait-il l'API qui permet de déterminer si une lettre d'untié est bien celle d'un réseau ?
Forums PureBasic - Français
http://forums.purebasic.com/french/
Fait une recherche sur le Net avec cette commande !!The GetDriveType function determines whether a disk drive is a removable, fixed, CD-ROM, RAM disk, or network drive.
UINT GetDriveType(
LPCTSTR lpRootPathName // address of root path
);
Parameters
lpRootPathName
Points to a null-terminated string that specifies the root directory of the disk to return information about. If lpRootPathName is NULL, the function uses the root of the current directory.
Return Value
The return value specifies the type of drive. It can be one of the following values:
Value Meaning
0 The drive type cannot be determined.
1 The root directory does not exist.
DRIVE_REMOVABLE The drive can be removed from the drive.
DRIVE_FIXED The disk cannot be removed from the drive.
DRIVE_REMOTE The drive is a remote (network) drive.
DRIVE_CDROM The drive is a CD-ROM drive.
DRIVE_RAMDISK The drive is a RAM disk.
Code : Tout sélectionner
#DRIVE_UNKNOWN = 0
#DRIVE_ABSENT = 1
#DRIVE_REMOVABLE = 2
#DRIVE_FIXED = 3
#DRIVE_REMOTE = 4
#DRIVE_CDROM = 5
#DRIVE_RAMDISK = 6
retval = GetDriveType_("c:\")
select retval
case #DRIVE_FIXED
debug "Fixed"
case #DRIVE_REMOTE
debug "Remote"
[...]
endselect
(pas eu le temps de tester)
Code : Tout sélectionner
Enumeration
#DRIVE_UNKNOWN
#DRIVE_ABSENT
#DRIVE_REMOVABLE
#DRIVE_FIXED
#DRIVE_REMOTE
#DRIVE_CDROM
#DRIVE_RAMDISK
EndEnumeration
Procedure.s GetDriveType(Drive.s)
Select GetDriveType_(Drive)
Case #DRIVE_UNKNOWN : ProcedureReturn "Unknown"
Case #DRIVE_ABSENT : ProcedureReturn "Absent"
Case #DRIVE_REMOVABLE : ProcedureReturn "Removable"
Case #DRIVE_FIXED : ProcedureReturn "Fixed"
Case #DRIVE_REMOTE : ProcedureReturn "Remote"
Case #DRIVE_CDROM : ProcedureReturn "CD-Rom"
Case #DRIVE_RAMDISK : ProcedureReturn "RAM Disk"
EndSelect
EndProcedure
Procedure EnumDrives()
For i=0 To 25
If ( GetLogicalDrives_() & Int(Pow(2,i)) ) <> 0
Drive.s = Chr(65+i) + ":"
Debug Drive + " " + GetDriveType(Drive)
EndIf
Next
EndProcedure
EnumDrives()