在C中,如何使用X11获取屏幕内活动监视器的几何形状(x,y,宽度,高度)

2024-03-05

我所有的搜索都得到了关于如何使用 C 获取 X11 中活动屏幕的几何形状的答案,但该屏幕可能包含许多显示器,并且通常只有一个屏幕,除非有许多用户同时使用同一台计算机。

关于获取屏幕几何形状的那些答案已经过时,因为它们没有考虑多个显示器。

那么,如何获取鼠标指针或活动窗口所在显示器的几何形状(x、y、宽度、高度)?我想要相对于屏幕的几何形状。


您需要使用 RandR 扩展 API。获取源代码xrandr实用程序并从那里窃取您需要的东西。你需要XRRGetMonitors函数和相关数据结构。您还可以使用xrandr在命令行上获取所需的信息。

我不知道是否存在活动监视器这样的东西,因为活动窗口可以跨越多个监视器,并且指针仍然可以位于另一个监视器中。无论如何,XRRMonitorInfo结构包含有关显示器几何形状的所有信息,包括其尺寸(以像素和毫米为单位)及其在逻辑屏幕上的位置,因此您可以从一对屏幕坐标中提取显示器描述。

也可以看看这个答案 https://stackoverflow.com/a/42886310/775806.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在C中,如何使用X11获取屏幕内活动监视器的几何形状(x,y,宽度,高度) 的相关文章

随机推荐

  • 向导航栏添加类似于 iOS 11 中 Apple Music 的标题和副标题

    这是一IOS 11问题 我不确定我们是否可以谈论这个 iOS 还处于测试阶段 但我在 Apple Music 中查看了这个导航栏 我知道他们推出了大标题IOS 11 navigationController navigationBar pr
  • 如何使用 Cordova/Ionic 在 inappbrowser 中显示 AdMob 横幅

    我在用着ionic framework 我可以创建一个admob横幅 但是当我加载时inappbrowser在我关闭之前 横幅不会显示inappbroswer 有没有办法在以下情况下显示 AdMob 横幅 inappbrowser开了 我建
  • IIS 8.0 详细 500.0 内部服务器错误 - IsapiModule 未找到

    我正在开发一个最初在 Visual Studio 的早期版本 2013 年之前 上构建的项目 但遇到了错误 我在 google 和 stackoverflow 上搜索了又搜索 包括以下资源 IIS 7 5 详细错误 500 0 在 Wind
  • 如何将测试保留在 Vite 项目的源目录之外?

    Running npm init vue latest通过以下设置 生成一个 Vitest 规范文件src目录 我想知道为什么 Cypress e2e 测试有一个单独的目录 而 Vitest 单元测试就在源代码旁边 有什么原因吗 我想将这些
  • 如何通过 API 将资金从 PayPal 帐户转移到另一个 PayPal 帐户

    我花了很长时间寻找一种通过 API 将资金从企业 PayPal 转移到多个用户的 PayPal 帐户的方法 IE 我有收件人的 PayPal 电子邮件地址 我想通过 API 将 X 笔资金从我们的帐户转移到他们的帐户 PayPal 自适应支
  • 如何检查属性是否存在[重复]

    这个问题在这里已经有答案了 我正在尝试从中读取属性DirectoryEntry 不幸的是并非所有记录都有employeeNumber属性 所以我需要检查它是否存在 我已经尝试过 a one DirectoryEntry record a G
  • 退款状态NO_API_ACCESS_TO_RECEIVER,贝宝响应

    我在我的 Rails 应用程序中使用这个 gem 进行支付 https github com jpablobr active paypal adaptive payment https github com jpablobr active
  • Apache mod_auth_form 如何锁定文件夹

    在我看来 我对 mod auth form 应该如何工作有一个根本性的误解 我参考了 Apache 文档的这一页 http httpd apache org docs current mod mod auth form html 我有一个公
  • 不同端口上的 Route 53 记录集

    我是一名 ruby 开发者 刚刚开始学习一些 Node js 我正在运行一个实例AWS主持我的rails带有乘客 nginx 监听的应用程序port 80 现在我想举办一个node js同一实例 t1 micro 上的应用程序并将其监听端口
  • UIViewController 不自动旋转

    正如标题所说 我的 UIViewController 无论如何都不会旋转 当它加载时 shouldAutorotateToInterfaceOrientation 被调用 但之后就不会了 更新1 这是一个非常非常奇怪的问题 至少对于我来说
  • 如何屏蔽nginx日志中POST正文的敏感信息?

    为了方便分析我们保存 request body访问日志中的字段 但是 帖子正文中存在一些敏感信息 例如密码或信用卡号 会在日志中暴露 我们怎样才能掩盖这些信息呢 password 1234asdf gt password 如果我编写一个 n
  • 如果 A 列为空,隐藏 Google 电子表格中的行吗?

    如果 A 列为空 我试图隐藏行 我想将其应用于特定工作表 第 1 周 第 2 周 第 3 周 第 4 周和第 5 周 这是我迄今为止第一周的代码 function ConditionalHideRow var ss SpreadsheetA
  • VSCode 添加随机百分比

    每次我使用终端打印出字符串或任何类型的字符时 它都会自动在每行末尾打印一个 每当我尝试从 C 或 php 打印某些内容时 都会发生这种情况 但还没有尝试过其他语言 我认为这可能是 vscode 的问题 并且不知道它是如何出现的或如何修复它
  • 如何从未签名的存储库安装 debian 软件包

    尝试从未签名的存储库将 Debian 软件包安装到 Debian 9 apt get allow unauthenticated update Get 1 http files freeswitch org repo deb freeswi
  • 在 WPF 中显示多维数据

    在 WPF 中显示多维数据的最佳方式是什么 直到运行时我才会知道数据的大小 形状 理想情况下 我想使用数据绑定 但这不是严格的要求 我正在考虑某种网格 但我不知道如何动态绑定到数据并让它计算出行数和列数 请提供建议和示例 听起来好像您想要一
  • 隐藏样式、块样式和无样式之间的区别

    我试图找出风格之间的差异 hidden block none 我正在尝试这个例子 但不幸的是这不起作用 有人可以告诉我答案吗 div hr DIV 1 hr div 你真的很接近 两种不
  • 用于输入/V 模型的 Vue 过滤器

    所以我对 ES6 SPA Javascript 和 Vue JS 非常陌生 我主要使用 JQuery 所以我有一个全局过滤器 Vue filter formatDate function value if value return mome
  • 在 Backbone.js 中,如何让模型超类默认值充当子类的默认值?

    我有一个定义一些默认值的类和一个定义一些默认值的子类 但是 当我创建子类的实例时 它只查看本地默认值 不会将其默认值与父类的默认值合并 有没有什么简单的方法可以做到这一点 而无需显式地将本地默认值与父默认值合并initialize每个子类的
  • Javascript:类属性在拖动事件期间变得未定义

    我对 Javascript 中的类还很陌生 我已经被困了几天试图理解为什么我的属性在我的所有方法中都变得未定义 我试图复制this https www kirupa com html5 drag htm到一个类中 但不成功 因为每次调用方法
  • 在C中,如何使用X11获取屏幕内活动监视器的几何形状(x,y,宽度,高度)

    我所有的搜索都得到了关于如何使用 C 获取 X11 中活动屏幕的几何形状的答案 但该屏幕可能包含许多显示器 并且通常只有一个屏幕 除非有许多用户同时使用同一台计算机 关于获取屏幕几何形状的那些答案已经过时 因为它们没有考虑多个显示器 那么