unzip/util_windows.go
2019-09-02 00:31:53 +08:00

45 lines
965 B
Go

package unzip
import (
"os"
"strconv"
"syscall"
"unsafe"
)
type OSVERSIONINFO struct {
dwOSVersionInfoSize int32
dwMajorVersion int32
dwMinorVersion int32
dwBuildNumber int32
dwPlatformId int32
szCSDVersion [128]byte
}
func GetOsVersion() float32 {
kernel32 := syscall.NewLazyDLL("kernel32.dll")
var os OSVERSIONINFO
os.dwOSVersionInfoSize = int32(unsafe.Sizeof(os))
GetVersionExA := kernel32.NewProc("GetVersionExA")
rt, _, _ := GetVersionExA.Call(uintptr(unsafe.Pointer(&os)))
if int(rt) == 1 {
res, err := strconv.ParseFloat(strconv.Itoa(int(os.dwMajorVersion))+"."+strconv.Itoa(int(os.dwMinorVersion)), 32)
if err != nil {
return 0
}
return float32(res)
}
return 0
}
// FileIsExist -判断文件是否存在 存在返回 true 不存在返回false
func FileIsExist(filename string) bool {
var exist = true
if _, err := os.Stat(filename); os.IsNotExist(err) {
exist = false
}
return exist
}