通过查阅了资料,对于winapi有了较少的了解,今天主要介绍的是使用golang获取windows电脑中u盘的逻辑位置
主要参考文章有
(https://blog.youkuaiyun.com/breaksoftware/article/details/8507106)
可以通过Win32_DiskPartition 来获取windows系统的磁盘信息.
按下快捷键win+x,使用管理员权限打开powershell, 输入:
Get-WmiObject Win32_logicaldisk
即可看到如下信息:

上面drivetype 为2 的是插入本机的U盘,结合之前的文章,也可以知道.知道了drivetype为2是 U盘类型就好了.
下面就是golang 代码:
import (
"fmt"
"github.com/StackExchange/wmi"
)
func getStorageInfo() {
var info []struct {
DeviceId string
}
err := wmi.Query("Select DeviceId from Win32_LogicalDisk Where DriveType = '2'", &info)
if err != nil {
fmt.Println(err)
return
}
fmt.Println("info", info)
}
func main() {
getStorageInfo()
}
打印如下: info [{F:}]
同时也可以使用powershell 验证:
Get-WmiObject Win32_logicaldisk -Filter 'DriveType = "2"' | Select-Object DeviceID
结果如下:
