帮助中心 helper



获取硬盘中容量最大的分区盘符

发布于:2017-05-11 17:08 编辑:Surou  浏览:

我们在安装一些在线视频软件比如迅雷看看时,会发现他们的安装程序会自动判断当前系统中容量最大的分区,以便在其中创建数据缓冲下载的文件夹,这种功能如果实现呢,下面我们用NSIS来获取一下硬盘中容量最大的分区盘符。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
!include "FileFunc.nsh"
!include "LogicLib.nsh"
OutFile "Demo.exe"
SilentInstall silent
Section
  ;查找所有硬盘驱动器(HDD)
  ${GetDrives} "HDD" "FindHDD"
  MessageBox MB_OK "最大可用空间驱动器盘符:$R2"
SectionEnd
Function "FindHDD"
  ;获取查找到的驱动器盘符($9)可用空间(/D=F)单位兆(/S=M)
  ${DriveSpace} $9 "/D=F /S=M" $R0
  ${If} $R0 > $R1
    StrCpy $R1 $R0
    StrCpy $R2 $9
  ${EndIf}
  Push $0
FunctionEnd