Golang通过使用GetSystemMetrics获取系统的分辨率
GetSystemMetrics()
是一个Windows函数,该函数只有一个参数,称之为索引,这个索引有75个标识符,通过设置不同的标识符就可以获取系统分辨率、窗体显示区域的宽度和高度、滚动条的宽度和高度。
本文将使用Go语言调用GetSystemMetrics()
函数来获取系统的分辨率。
GetSystemMetrics()
函数在User32.dll动态链接库中,其函数原型为:
int WINAPI GetSystemMetrics( __in intnIndex);
具体实现:
package main
import (
"syscall"
"fmt"
)
const (
SM_CXSCREEN = uintptr(0) // X Size of screen
SM_CYSCREEN = uintptr(1) // Y Size of screen
)
func main(){
w,_,_ := syscall.NewLazyDLL(`User32.dll`).NewProc(`GetSystemMetrics`).Call(SM_CXSCREEN)
h,_,_ := syscall.NewLazyDLL(`User32.dll`).NewProc(`GetSystemMetrics`).Call(SM_CYSCREEN)
fmt.Println(int(w),int(h))
}