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

分类: 计算机技术
推荐阅读:
为什么MD5说是128位,却只有32个字符? 为什么MD5说是128位,却只有32个字符?这是因为这两个长度的概念不同;
Rust cfg宏的用法和示例 在Rust中,cfg宏用于条件编译,允许根据不同的条件在编译代码时选择性地包含或排除特定的代码块;这对于处理不同平台、操作系统、编译器或其他环境变量的情况非常有用。
Nginx隐藏和显示版本号 默认情况下,Nginx在返回Response时,会在Header中设置一个Server的参数,Server的值为web服务程序名及其版本信息;返回的404、503错误信息也会包含版本信息;因为Nginx的一些漏洞会在特定的版本中出现,暴漏的版本号就可能成为攻击者可以利用的信息;所以我们最好将版本信息隐藏。
Qt在Windows11下的视觉效果 作者更新到Windows11了,来看看Qt在Windows11下的视觉效果;变化比较明显的是窗口,PushButton控件和输入框控件;
Golang函数的多返回值 Golang可以说是少有支持多返回值的静态编程语言,并且可以给返回值命名,这在有的时候非常好用;
ettercap扫描不到主机的解决方法 本文将详细讲解在Kali系统下使用Ettercap图形界面模式时扫描不到主机的问题,并提供问题排除方法;