Linux 获取屏幕分辨率与窗口行列数(c/c++)
获取当前分辨率
#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<sys/mman.h>
#include<sys/ioctl.h>
#include<unistd.h>
#include<fcntl.h>
#include<linux/fb.h>
int main(int argc,char *argv[]){
int fd;
struct fb_var_screeninfo screen_info;
fd = open("/dev/fb0",O_RDWR);
ioctl(fd,FBIOGET_VSCREENINFO,&screen_info);
printf("%d*%d\n",screen_info.xres,screen_info.yres);
close(fd);
return 0;
}
结果:
root@cocktail:~# vim screen_xy.c
root@cocktail:~# ./screen_xy
1152*864
root@cocktail:~#
获取当前窗口大小
这里大小指的是一个满屏幕的窗口,按照当前字体大小所能显示的字体的行数与列数。
如果调整字体大小,结果会根据字体大小变化。这一结论在ssh工具界面也适用。
#include<stdio.h>
#include<stdlib.h>
#include<sys/ioctl.h>
#include<termios.h>
#include<signal.h>
#include<unistd.h>
int main(int argc,char *argv[]){
struct winsize info;
ioctl(STDIN_FILENO,TIOCGWINSZ,&info);
printf("当前终端为%d行%d列\n",info.ws_row,info.ws_col);
return 0;
}
结论:
root@cocktail:~# vim screen_wc.c
root@cocktail:~# ./screen_wc
当前终端为23行89列
root@cocktail:~#
Linux 获取屏幕分辨率与窗口行列数(c/c++)的更多相关文章
- Qt获取屏幕分辨率
http://my.oschina.net/u/1255773/blog/159557 原 Qt获取屏幕分辨率 发表于1年前(2013-09-06 11:00) 阅读(546) | 评论(0) 3 ...
- 获取屏幕分辨率(C/C++)
C/C++获取屏幕分辨率的方法 int main(int argc, char* argv[]) { // 需要添加头文件: // #include <Windows.h> system( ...
- 获取屏幕分辨率(C#)
C#获取屏幕分辨率的方法 static void Main(string[] args) { // 控制台程序,需要添加程序集: // using System.Drawing; // using S ...
- Android 获取屏幕分辨率
原文:Android 获取屏幕分辨率 得到一个屏幕尺寸的三种方法如下: // 通过WindowManager获取 DisplayMetrics dm = new Displ ...
- C#获取屏幕分辨率率
C#获取屏幕的分辨率 在C#中获取当前屏幕的分辨率的方法 1:rectangle类. 命名空间为:system.Drawing. system.Drawing.Rectangle rec=Scre ...
- 在qt下获取屏幕分辨率
1,在Windows下可以使用 GetSystemMetrics(SM_CXSCREEN);GetSystemMetrics(SM_CYSCREEN) 获取. 2,在Linux下可以使用XDisp ...
- WPFの获取屏幕分辨率并自适应
double x = SystemParameters.WorkArea.Width;//得到屏幕工作区域宽度 double y = SystemParameters.WorkArea.Height; ...
- VC获取屏幕分辨率及大小相关(转)
vc得到屏幕的当前分辨率方法: 1.Windows API调用 int width = GetSystemMetrics ( SM_CXSCREEN ); int height= GetSystem ...
- android DisplayMetrics 获取屏幕分辨率
Android 提供DisplayMetircs 类可以很方便的获取分辨率.下面介绍 DisplayMetics 类: Andorid.util 包下的DisplayMetrics 类提供了一种关于显 ...
随机推荐
- python设计模式之享元模式
python设计模式之享元模式 由于对象创建的开销,面向对象的系统可能会面临性能问题.性能问题通常在资源受限的嵌入式系统中出现,比如智能手机和平板电脑.大型复杂系统中也可能会出现同样的问题,因为要在其 ...
- Ng-Matero V10 正式发布!
Angular v10 在六月下旬就悄无声息的发布了,虽然 v9 的发布延期了两个月,但是 v10 并没有受影响,仍然如期而至. 相比 v9 的重量级发布,v10 并没有颠覆性的变化,主要还是 bug ...
- 详解Python中的__init__和__new__
转载:https://my.oschina.net/liuyuantao/blog/747164 1.__init__ 方法是什么? 使用Python写过面向对象的代码的同学,可能对 __init__ ...
- ping通网关 ping不通dns
一.Request Timed Out 当Ping指定的对象时,出现“Request Timed Out”提示信息的频率非常高,这说明对方无法接受发送过来的数据.当然这种情况下,很可能就是网络出现了故 ...
- SpringBoot整合WebSocket实现前后端互推消息
小编写这篇文章是为了记录实现WebSocket的过程,受不了啰嗦的同学可以直接看代码. 前段时间做项目时设计了一个广播的场景,具体业务不再赘述,最终要实现的效果就是平台接收到的信息实时发布给所有的用户 ...
- Java——注解
注解的产生背景以前,xml以低耦合的方式得到了广大开发者的青睐,xml在当时基本上能完成框架中的所有配置.但是随着项目越来越庞大,xml的配置也越来越复杂,维护性也随之降低,维护成本增高.于是就产生了 ...
- Java中抽象类和接口的介绍及二者间的区别
接口(Interface)和抽象类(Abstract Class)是支持抽象类定义的两种机制. 一.抽象类 在Java中被abstract关键字修饰的类称为抽象类,被abstract关键字修饰的方法称 ...
- Asp.NetCore 3.1 使用AutoMapper自动映射转换实体 DTO,Data2ViewModel
1:什么是AutoMapper? 下面为AutoMapper官方的解释: AutoMapper是一个对象-对象映射器.对象-对象映射通过将一种类型的输入对象转换为另一种类型的输出对象来工作. 使Aut ...
- Java面试题(RabbitMQ篇)
RabbitMQ 135. rabbitmq 的使用场景有哪些? ①. 跨系统的异步通信,所有需要异步交互的地方都可以使用消息队列.就像我们除了打电话(同步)以外,还需要发短信,发电子邮件(异步)的通 ...
- 单元测试利器Mockito框架
什么是Mock Mock 的中文译为仿制的,模拟的,虚假的.对于测试框架来说,即构造出一个模拟/虚假的对象,使我们的测试能顺利进行下去. Mock 测试就是在测试过程中,对于某些 不容易构造(如 Ht ...