首页 > 其他分享 >UOS+KIRIN截屏出错研究

UOS+KIRIN截屏出错研究

时间:2022-11-12 19:33:06浏览次数:58  
标签:UOS XCompositeGetOverlayWindow Robot KIRIN getRGBPixelsImpl 截屏 NULL


  泰OFFICE有个BUG,说在UOS+KIRIN系统上,截屏卡死。在KYLIN和其他UOS上,则正常。这么怪异的问题,当然很难解决。只能由吾出场,从JDK角度来看看。

  使用的是Robot进行屏幕。于是吾进行跟踪,出错顺序依次是:

  • Robot.createScreenCapture()
  • XRobotPeer.getRGBPixels
  • XRobotPeer.getRGBPixelsImpl()
  • awt_Robot.c:getRGBPixelsImpl

  这里已经是C了。在这里进行跟踪,发现是compositeGetOverlayWindow导致的。吾仔细想了半天,莫非是窗口产生了没有释放?那找找有没有对应的释放函数。别说,还真找到了一个释放函数:XCompositeGetOverlayWindow。加上之后,果然不死了。

​https://www.linuxhowtos.org/manpages/3/XCompositeGetOverlayWindow.htm​

  不死的问题解决了,拿到的是黑屏,也就是没有得到数据。于是又进行了跟踪。

  • awt_Robot.c:getWindowImage
  • multiVis.c:ReadAreaToImage

通过对比正确顺序,发现:正确的时候XGetImage()返回结果,错误的时候为NULL。

于是进行了修改:如果有数据设置一个标志;返回时根据标志来决定返回对象还是NULL。

为什么没有数据呢?这个没有进一步分析。

  实际上这个系统也能截屏。不知道是系统版本问题(比如UI不一样)?还是显卡适配问题?

标签:UOS,XCompositeGetOverlayWindow,Robot,KIRIN,getRGBPixelsImpl,截屏,NULL
From: https://blog.51cto.com/u_13161667/5846769

相关文章

  • WPF通过wine适配统信uos系统
    环境准备环境准备直接安装wine7wine安装参考#开启32bit架构支持sudodpkg--add-architecturei386#下载添加仓库密钥sudowget-nchttps://dl.winehq.org/wi......
  • VMware安装UOS虚拟机
    1、安装准备,到UOS官网下载iso镜像   2、在VMware中创建新的虚拟机                                     3、设置镜像位置  4、......
  • VMware安装UOS系统
    1、安装准备,到UOS官网下载iso镜像   2、在VMware中创建新的虚拟机                              ......
  • 无需插件,巧用Chrome浏览器实现对整个网页的高清截屏
    文/王不留(微信公众号:王不留) 我们有时需要截取网页的全图。发现一个简单方法。记录之。 这个方法需要使用Chrome浏览器。 1、输入网址: ​​https://www.google.cn/chro......
  • Selenium常用操作之单选复选框、下拉列表、键盘、截屏、断言、(显式隐式)等待
      1.窗口最大化driver.maximize_window()  2.单选框操作driver.find_element_by_xpath("//input[@value='berry']").click()  3.复选框操作berrCheckBox1=......
  • Chrome 截屏命令
    01)F1202)Ctrl+Shift+P(Windows)或Command+Shift+P(Mac)03)◆整个网页:Capturefullsizescreenshot   ◆节点网页:Capturenodescreenshot   ◆当前屏......
  • 从 Service 中启动 Activity 以及手机截屏
    关于android截屏,在Service中实现后台截屏记得上一次写android代码可能在十年前了,那时用的是eclipse开发,现在全忘记了。这次用androidstudio捣鼓快一周时间,才......
  • 电脑双屏时,微信截屏显示黑屏,解决方法
    鼠标右键单击微信->点击【属性】->【兼容性】->【更改高DPI设置】->勾选【替代高DPI缩放行为】确定完成之后,即可解决  ......
  • HaoshuoShao's software_engineering_homework_1
    版本1:后台管理系统版本软件及代码:https://github.com/HaoshuoShao/homework22-fall(ps.GUI和requirements.txt还没有完善)需求分析可以增,删,查物品信息可以加个......
  • 关于安装 UOS V20 个人版的一些提示
    统信软件在8月27日发布了统信桌面操作系统(UOS)个人版(1010),不同于之前的商业版,UOS个人版可以免费下载,安装完成后系统会系统激活。关于本次发布版本的详细介绍,大家可以点击今......