45 lines
965 B
Go
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
|
||
|
}
|