這個程式是透過調用API程式KERNEL32.DLL的GetVolumeInformationA函式來讀取硬碟序號等資料,以下有些名稱翻譯的可能不太好,參考看看就好


首先使用Call Library Function Node元件,按滑鼠右鍵從選單中點選config...進入設定畫面,Library name or path設定為KERNEL32.DLL,Function name設定為GetVolumeInformationA

  

切換到Parameters畫面,內定的return type那一項保持原樣不變更。接下來要新增幾項函數

20131202-05  

 

新增lpRootPathName項目,格式設定為文字。這一項是用來設定要讀取的硬碟的根目錄名稱

20131202-06    


新增lpVolumeNameBuffer項目,格式設定為文字。這一項是要讀取磁碟名稱,若磁碟標籤名稱沒有設定,這一項讀不到資料

20131202-07  


新增nVolumeNameSize項目,格式設定為U32格式數值。這一項是要設定讀取磁碟名稱的長度,因為磁碟標籤名稱長度不確定,輸入數值設大一點

20131202-08  


新增lpVolumeSerialNumber項目,格式設定為文字。這一項是要讀取硬碟序號,讀出的字串還要再處理才能得到正確的資料

20131202-09  


新增lpMaximumComponentLength項目,格式設定為U32格式數值。這一項是要讀取磁碟內最大組件長度

20131202-10  


新增lpFileSystemFlags項目,格式設定為U32格式數值。這一項是要讀取磁碟系統標誌

20131202-11  


新增lpFileSystemNameBuffer項目,格式設定為文字。這一項是要讀取磁碟系統格式名稱

20131202-12  


新增nFileSystemNameSize項目,格式設定為U32格式數值。這一項是要設定讀取磁碟系統格式名稱的長度,因為磁碟系統格式名稱長度不確定,輸入數值設大一點

20131202-13  


全部函數新增完成後按OK結束設定

 


完成程式

20131202-14  

 

20131202-15  

 

在Windows 7調用這個API程式會錯誤,無法讀到資料

arrow
arrow
    文章標籤
    硬碟序號 KERNEL32.DLL API
    全站熱搜

    未出師的小工程師 發表在 痞客邦 留言(0) 人氣()