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

分类: 计算机技术
推荐阅读:
C语言获取当前系统的CPU核心数量 本文将介绍C语言在Windows系统和Linux系统下获取CPU核心数量的方法;
WordPress如何禁用Emoji表情 由于WordPress自带的Emoji表情服务需要连接到国外服务器,国内用户访问比较慢、不稳定,影响体验,且大部分用户根本用不到;这个服务应该禁用。
OpenSSL1.x和OpenSSL3.x的区别 OpenSSL 1.x和OpenSSL 3.x是两个不同版本的OpenSSL库,其中有很多重要的区别:
Python实现字符串大小写转换 你可能会使用字符串的upper()方法将字符串中的字母全部转换成大写,或使用lower()方法将字符串中的字母全部转换成小写;那如何将字符串中的大写转换成小写、小写转换从大写呢?本文将使用Python实现这一功能;
C程序计算二阶行列式的值 本文将使用C语言编写程序计算二阶行列式的值;程序通过定义一个2*2数组用于存储输入的二阶行列式;再通过前文的公式计算出二阶行列式的值;
TypeError: 'str' object does not support item assignment 解决方法 引起 TypeError: 'str' object does not support item assignment 错误是因为尝试以下标的方式修改字符串导致的;在Python中,字符串是不可变类型,不能通过下标的方式直接更改某一字符;