[Go] golang获取系统盘符 →→→→→进入此内容的聊天室

来自 , 2019-02-25, 写在 Go, 查看 132 次.
URL http://www.code666.cn/view/c457d7ae
  1. // cs project main.go
  2. package main
  3.  
  4. import (
  5.         "fmt"
  6.         . "strconv"
  7.         "syscall"
  8. )
  9.  
  10. func GetLogicalDrives() []string {
  11.         kernel32 := syscall.MustLoadDLL("kernel32.dll")
  12.         GetLogicalDrives := kernel32.MustFindProc("GetLogicalDrives")
  13.         n, _, _ := GetLogicalDrives.Call()
  14.         s := FormatInt(int64(n), 2)
  15.  
  16.         var drives_all = []string{"A:", "B:", "C:", "D:", "E:", "F:", "G:", "H:", "I:", "J:", "K:", "L:", "M:", "N:", "O:", "P:", "Q:", "R:", "S:", "T:", "U:", "V:", "W:", "X:", "Y:", "Z:"}
  17.         temp := drives_all[0:len(s)]
  18.  
  19.         var d []string
  20.         for i, v := range s {
  21.  
  22.                 if v == 49 {
  23.                         l := len(s) - i - 1
  24.                         d = append(d, temp[l])
  25.                 }
  26.         }
  27.  
  28.         var drives []string
  29.         for i, v := range d {
  30.                 drives = append(drives[i:], append([]string{v}, drives[:i]...)...)
  31.         }
  32.         return drives
  33.  
  34. }
  35.  
  36. func main() {
  37.         fmt.Println(GetLogicalDrives())
  38. }
  39. //go/8447

回复 "golang获取系统盘符"

这儿你可以回复上面这条便签

captcha