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))
}

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/1544.html

分类: 计算机技术
推荐阅读:
禁用Visual Studio自动下载更新 近日,作者使用Visual Studio发现,Visual Studio会自己在后台下载更新内容,然后提醒你是否安装;因为Visual Studio的更新包体积庞大,不仅占用网络资源也会消耗磁盘性能,所以我决定禁用它;
python bin()函数详细教程 bin()函数将一个整数转换成前缀为”0b“的二进制字符串形式,如果参数不是int对象,那它需要定义__index__()方法并返回一个整数;
在Python中如何表示无穷大 在Python中,可以使用float('inf')表示正无穷大,使用float('-inf')表示负无穷大。
Python字符串split()方法 在使用Python处理字符串时,你可能需要将字符串拆分为若干个子字符串;Python中的字符串方法split()可以帮助你完成这个任务。
查询Linux系统是哪个发行版 在Linux系统下,如果你想知道当前系统是哪一个发行版,你可以使用一条命令实现查询:
Python数组求和 给定一个数组,使用Python进行数组求和;