2011-10-14 58 views
0

我正在使用NSIS(HM NISedit 2.0.3編輯器)來構建我的應用程序的設置。 我有一個要求使用磁盤卷序列號(採用十六進制格式)我的設置之一。我還需要在消息框中顯示相同的內容。 有人可以請我發佈一個完整的腳本獲取磁盤卷序列號顯示它在消息框?檢索並顯示NSIS中的磁盤卷序列號

回答

1

本頁面介紹瞭如何檢索十六進制格式的序列號:

http://nsis.sourceforge.net/Get_Disk_Volume_Serial_Number

所以做你需要的東西包括在你的腳本這個功能:

Function ShowDiskVolumeSerialNumber 
    !define GetVolumeInformation "Kernel32::GetVolumeInformation(t,t,i,*i,*i,*i,t,i) i" 
    System::Call '${GetVolumeInformation ("$0",,${NSIS_MAX_STRLEN},.r0,,,,${NSIS_MAX_STRLEN})' 
    IntFmt $0 "%08X" $0 
    MessageBox MB_OK $0 
FunctionEnd 

,並調用它像這個:

StrCpy $0 "C:\\" 
Call ShowDiskVolumeSerialNumber 

顯然你可以替換e用任何你喜歡的驅動器盤符,但確保它有一個雙尾的反斜槓。

+0

謝謝Paul Hunt先生。它工作正常...... – Bomzinho