找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 685|回复: 0

[每日一码] 获得磁盘相关信息

[复制链接]

已领礼包: 19个

财富等级: 恭喜发财

发表于 2017-5-28 09:54:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
  1. ; -- Function VxGetDriveInfos
  2. ; Returns information's from a drive.
  3. ; Copyright:
  4. ;   ©2001 MENZI ENGINEERING GmbH, Switzerland
  5. ; Arguments [Type]:
  6. ;   Drv = Drive character, e.g. "C" or "C:" [STR]
  7. ; Return [Type]:
  8. ;   > Drive infos '(TotalSize FreeSpace DriveType FileSystem SerialNumber
  9. ;                   ShareName VolumeName)
  10. ;     Explanations:
  11. ;     - TotalSize (kB)
  12. [REAL]
  13. ;       Returns the total space of a drive or network share.
  14. ;     - FreeSpace (kB) [REAL]
  15. ;       Returns the amount of space available to a user on the specified drive
  16. ;       or network share.
  17. ;     - DriveType [INT]
  18. ;       0 = "Unknown"
  19. ;       1 = "Removable"
  20. ;       2 = "Fixed"
  21. ;       3 = "Network"
  22. ;       4 = "CD-ROM"
  23. ;       5 = "RAM Disk"
  24. ;     - FileSystem [STR]
  25. ;       Returns the type of file system in use for the specified drive, e.g.
  26. ;       "FAT", "NTFS", "CDFS".
  27. ;     - SerialNumber [INT]
  28. ;       Returns the serial number used to uniquely identify a disk volume.
  29. ;     - ShareName [STR]
  30. ;       Returns the network share name (UNC) for the specified drive. If it's
  31. ;       not a network drive, ShareName returns a zero-length string ("").
  32. ;     - VolumeName [STR]
  33. ;       Returns the volume name of the specified drive.
  34. ;   >  0 The drive doesn't exist.
  35. ;   > -1 The drive is not ready. For removable-media drives and CD-ROM drives,
  36. ;        VxGetDriveInfos returns -1 when the appropriate media is not inserted
  37. ;        or not ready for access.
  38. ; Notes:
  39. ;   - Requires ScrRun.dll (see also notes at top of page).
  40. ;
  41. (defun VxGetDriveInfos (Drv / DrvObj FilSys RetVal)
  42. (vl-load-com)
  43. (setq FilSys (vlax-create-object "Scripting.FileSystemObject")
  44.        RetVal (cond
  45.                ((= (vlax-invoke FilSys 'DriveExists Drv) 0) 0)
  46.                ((setq DrvObj (vlax-invoke FilSys 'GetDrive Drv))
  47.                 (cond
  48.                  ((= (vlax-get DrvObj 'IsReady) 0) -1)
  49.                  ((list
  50.                    (/ (vlax-get DrvObj 'TotalSize) 1000.0)
  51.                    (/ (vlax-get DrvObj 'FreeSpace) 1000.0)
  52.                    (vlax-get DrvObj 'DriveType)
  53.                    (vlax-get DrvObj 'FileSystem)
  54.                    (vlax-get DrvObj 'SerialNumber)
  55.                    (vlax-get DrvObj 'ShareName)
  56.                    (vlax-get DrvObj 'VolumeName)
  57.                   )
  58.                  )
  59.                 )
  60.                )
  61.               )
  62. )
  63. (if DrvObj (vlax-release-object DrvObj))
  64. (vlax-release-object FilSys)
  65. RetVal
  66. )

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-24 04:21 , Processed in 0.152422 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表