使用 Go 在 Windows 中查詢磁碟機總大小
取得磁碟機總大小對於各種應用程式至關重要。本文示範如何使用 Go 中的標準 Windows API 呼叫來檢索此資訊。
如前所述,可以使用 kernel32.dll 中的 GetDiskFreeSpaceExW() 函數。它採用目錄路徑作為輸入,並提供三個輸出參數:
import "syscall" kernelDLL := syscall.MustLoadDLL("kernel32.dll") GetDiskFreeSpaceExW := kernelDLL.MustFindProc("GetDiskFreeSpaceExW") var free, total, avail int64 path := "c:\" r1, r2, lastErr := GetDiskFreeSpaceExW.Call( uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(path))), uintptr(unsafe.Pointer(&free)), uintptr(unsafe.Pointer(&total)), uintptr(unsafe.Pointer(&avail)), )要使用此函數,請為所需的輸出分配變數:
Free: 16795295744 Total: 145545281536 Available: 16795295744範例輸出:此技術使您能夠準確地確定使用Windows API 的任何指定磁碟機的總大小。
以上是如何使用 Go 取得 Windows 磁碟機的總大小?的詳細內容。更多資訊請關注PHP中文網其他相關文章!