CN103425384B - 一种截取屏幕中窗口的方法和装置 - Google Patents
一种截取屏幕中窗口的方法和装置 Download PDFInfo
- Publication number
- CN103425384B CN103425384B CN201210160573.1A CN201210160573A CN103425384B CN 103425384 B CN103425384 B CN 103425384B CN 201210160573 A CN201210160573 A CN 201210160573A CN 103425384 B CN103425384 B CN 103425384B
- Authority
- CN
- China
- Prior art keywords
- window
- generic
- handle
- mouse
- described non
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开一种截取屏幕中窗口的方法和装置,所述方法包括:当鼠标位于非普通窗口内时,根据鼠标的位置坐标获取所述非普通窗口的父窗口句柄;根据所述父窗口句柄将鼠标的位置坐标转换为在父窗口内的窗口坐标;根据所述窗口坐标和所述父窗口句柄获取所述非普通窗口的窗口句柄;根据所述非普通窗口的窗口句柄获取所述非普通窗口的窗口边界,对所述非普通窗口进行截取;其中,所述非普通窗口为由鼠标的位置坐标不能直接获得对应的窗口句柄的窗口。本发明能够解决对于非普通窗口,截取窗口的精度低,无法满足精细截取窗口的要求的问题。
Description
技术领域
本发明涉及通信领域,特别涉及一种截取屏幕中窗口的方法和装置。
背景技术
计算机屏幕截图是通信技术与计算机图像技术相结合的产物。近年来,即时通信在人们的日常生活中有着越来越重要的地位,用户可以通过即时通信软件进行文字、声音和视频的交流,共享文件、图片和视频信息等,从而方便用户的生活、工作和学习。在使用即时通信进行沟通交流的过程中,图片比文字更直观、更快捷、更形象,比音频视频占用更少的资源,更能适应复杂的网络环境。而屏幕的内容很多,用户用鼠标拖选截图区域很难准确选中某个窗口。所以在屏幕截图中加入截取屏幕中窗口,用户在窗口内点击就能直接选中窗口截图区域。
现有技术中,在窗口截图时,都只能对普通窗口进行选中操作。该普通窗口为由鼠标的位置坐标能够直接获得对应的窗口句柄的窗口。对于非普通窗口只能选中该窗口外层的大窗口,即该非普通窗口的父窗口。非普通窗口为由鼠标的位置坐标不能直接获得对应的窗口句柄的窗口。因而,对于非普通窗口,截取窗口的精度低,无法满足精细截取窗口的要求。
发明内容
本发明提供的截取屏幕中窗口的方法和装置,以解决对于非普通窗口,截取窗口的精度低,无法满足精细截取窗口的要求的问题。
本发明公开了一种截取屏幕中窗口的方法,所述方法包括:
当鼠标位于非普通窗口内时,根据鼠标的位置坐标获取所述非普通窗口的父窗口句柄;
根据所述父窗口句柄将鼠标的位置坐标转换为在父窗口内的窗口坐标;
根据所述窗口坐标和所述父窗口句柄获取所述非普通窗口的窗口句柄;
根据所述非普通窗口的窗口句柄获取所述非普通窗口的窗口边界,对所述非普通窗口进行截取;
其中,所述非普通窗口为由鼠标的位置坐标不能直接获得对应的窗口句柄的窗口。
其中,所述非普通窗口包括:禁用窗口、不可见窗口、和/或透明窗口。
其中,所述根据所述非普通窗口的窗口句柄获取所述非普通窗口的窗口边界后还包括:
对所述非普通窗口的窗口边界进行高亮显示。
其中,所述对所述非普通窗口进行截取具体包括:
当鼠标被点击时,截取所述非普通窗口。
其中,所述对所述非普通窗口进行截取后还包括:
保存截取的非普通窗口到剪切板或文件。
其中,所述对所述非普通窗口进行截取后还包括:
在会话窗口中发送截取的非普通窗口。
其中,所述方法还包括:
当鼠标位于普通窗口内时,根据鼠标的位置坐标获取所述普通窗口的窗口句柄;
根据所述普通窗口的窗口句柄获取所述普通窗口的窗口边界,对所述普通窗口进行截取;
其中,所述普通窗口为由鼠标的位置坐标能直接获得对应的窗口句柄的窗口。
本发明还公开了一种截取屏幕中窗口的装置,所述装置包括:
父窗口句柄获取模块,用于当鼠标位于非普通窗口内时,根据鼠标的位置坐标获取所述非普通窗口的父窗口句柄;
坐标转换模块,用于根据所述父窗口句柄将鼠标的位置坐标转换为在父窗口内的窗口坐标;
窗口句柄获取模块,用于当鼠标位于非普通窗口内时,根据所述窗口坐标和所述父窗口句柄获取所述非普通窗口的窗口句柄;
窗口截取模块,用于当鼠标位于非普通窗口内时,根据所述非普通窗口的窗口句柄获取所述非普通窗口的窗口边界,对所述非普通窗口进行截取;
其中,所述非普通窗口为由鼠标的位置坐标不能直接获得对应的窗口句柄的窗口。
其中,所述非普通窗口包括:禁用窗口、不可见窗口、和/或透明窗口。
其中,所述窗口截取模块在根据所述非普通窗口的窗口句柄获取所述非普通窗口的窗口边界后还用于对所述非普通窗口的窗口边界进行高亮显示。
本发明实施例的有益效果是:对于非普通窗口,通过根据鼠标的位置坐标获取非普通窗口的窗口句柄,对非普通窗口进行截取,能够直接截取非普通窗口,满足精细截取窗口的要求;
进一步地,通过对非普通窗口的窗口边界进行高亮显示,能够方便窗口截取;
进一步地,通过保存截取的非普通窗口到剪切板或文件,或者在会话窗口中发送截取的非普通窗口,能够便于应用截取的非普通窗口。
附图说明
图1为本发明截取屏幕中窗口的方法的流程图。
图2为本发明实施例中禁用窗口的示意图。
图3为本发明实施例中禁用窗口的父窗口的示意图。
图4为本发明实施例中截取屏幕中窗口的方法的流程图。
图5为本发明的不可见窗口的示意图。
图6为本发明的透明窗口的示意图。
图7为本发明截取屏幕中窗口的装置的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
一种截取屏幕中窗口的方法如图1所示。所述方法包括如下步骤。
步骤S100,当鼠标位于非普通窗口内时,根据鼠标的位置坐标获取非普通窗口的父窗口句柄。
例如,当鼠标位于非普通窗口内时,应用WindowsAPI(Windows系统应用程序接口)功能函数WindowFromPoint根据鼠标的位置坐标获取非普通窗口的父窗口句柄。
步骤S200,根据父窗口句柄将鼠标的位置坐标转换为在父窗口内的窗口坐标。
例如,应用WindowsAPI功能函数ScreenToClient根据父窗口句柄将鼠标的位置坐标转换为在父窗口内的窗口坐标。
步骤S300,根据窗口坐标和父窗口句柄获取非普通窗口的窗口句柄。
例如,应用WindowsAPI功能函数ChildWindowFromPointEx根据窗口坐标和父窗口句柄获取非普通窗口的窗口句柄。
步骤S400,根据非普通窗口的窗口句柄获取非普通窗口的窗口边界,对非普通窗口进行截取。
例如,应用WindowsAPI功能函数GetWindowRect根据非普通窗口的窗口句柄获取非普通窗口的窗口边界,对非普通窗口进行截取。
所述非普通窗口为由鼠标的位置坐标不能直接获得对应的窗口句柄的窗口。
其中,所述非普通窗口包括:禁用窗口、不可见窗口、和/或透明窗口。
在一较佳的实施方式中,所述根据非普通窗口的窗口句柄获取非普通窗口的窗口边界后还包括:对非普通窗口的窗口边界进行高亮显示。
在一较佳的实施方式中,所述对非普通窗口进行截取具体包括:当鼠标被点击时,截取非普通窗口。
在一较佳的实施方式中,所述对非普通窗口进行截取后还包括:保存截取的非普通窗口到剪切板或文件。
在一较佳的实施方式中,所述对非普通窗口进行截取后还包括:在会话窗口中发送截取的非普通窗口。
在一较佳的实施方式中,所述方法还包括:当鼠标位于普通窗口内时,根据鼠标的位置坐标获取普通窗口的窗口句柄;根据普通窗口的窗口句柄获取普通窗口的窗口边界,对普通窗口进行截取。
例如,应用WindowsAPI功能函数WindowFromPoint根据鼠标的位置坐标获取普通窗口的窗口句柄。应用WindowsAPI功能函数GetWindowRect根据普通窗口的窗口句柄获取普通窗口的窗口边界,对普通窗口进行截取。
所述普通窗口为由鼠标的位置坐标能直接获得对应的窗口句柄的窗口。
进一步地,根据普通窗口的窗口句柄获取普通窗口的窗口边界后还包括:对普通窗口的窗口边界进行高亮显示。
所述对普通窗口进行截取具体包括:当鼠标被点击时,截取普通窗口。
所述对普通窗口进行截取后还包括:保存截取的普通窗口到剪切板或文件。
所述对普通窗口进行截取后还包括:在会话窗口中发送截取的普通窗口。
本发明的截取屏幕中窗口的方法实施例如图2至图4所示。
本发明的截取屏幕中窗口的方法实施例流程如图4所示。
步骤S401,启动窗口截图。
例如,通过快捷键或者屏幕截图功能按钮启动窗口截图。
步骤S402,取得鼠标当前位置CusorPoint。
步骤S403,通过WindowsAPI功能函数WindowFromPoint依据鼠标当前位置CusorPoint,取得鼠标所在窗口的窗口句柄HWND。
当鼠标所在窗口为非普通窗口时,窗口句柄HWND为鼠标所在窗口的父窗口的窗口句柄。
非普通窗口包括:禁用窗口、不可见窗口、和透明窗口。如图2所示,黑框标识的窗口为禁用窗口A的父窗口。如图3所示,黑框标识的窗口为禁用窗口A。
步骤S404,当鼠标所在窗口为非普通窗口时,通过WindowsAPI功能函数ScreenToClient根据父窗口句柄将鼠标的位置坐标转换为在父窗口内的窗口坐标。
步骤S405,通过WindowsAPI功能函数ChildWindowFromPointEx根据窗口坐标和父窗口句柄获取鼠标所在位置的非普通窗口的窗口句柄。
步骤S406,通过WindowsAPI功能函数GetWindowRect根据非普通窗口的窗口句柄获取非普通窗口的窗口边界,高亮显示窗口边界。
步骤S407,判断鼠标是否移动,如果移动,执行步骤S402,否则,执行步骤S408。
步骤S408,在鼠标左键被点击后,依据窗口边界截取窗口。
步骤S409,选择保存截取窗口的图片到剪贴板或者文件,或者选择直接发送给会话窗口。
对于图5表示的不可见窗口和图6表示的透明窗口的窗口截取采取上述方法同样可以实现。图5中黑框所示为不可见窗口,图6中白框所示为透明窗口。
本发明的一种截取屏幕中窗口的装置如图7所示。
所述装置包括:
父窗口句柄获取模块100,用于当鼠标位于非普通窗口内时,根据鼠标的位置坐标获取所述非普通窗口的父窗口句柄。
坐标转换模块200,用于根据所述父窗口句柄将鼠标的位置坐标转换为在父窗口内的窗口坐标。
窗口句柄获取模块300,用于当鼠标位于非普通窗口内时,根据所述窗口坐标和所述父窗口句柄获取所述非普通窗口的窗口句柄。
窗口截取模块400,用于当鼠标位于非普通窗口内时,根据所述非普通窗口的窗口句柄获取所述非普通窗口的窗口边界,对所述非普通窗口进行截取。
所述非普通窗口为由鼠标的位置坐标不能直接获得对应的窗口句柄的窗口。
其中,所述非普通窗口包括:禁用窗口、不可见窗口、和/或透明窗口。
在一较佳的实施方式中,所述窗口截取模块在根据所述非普通窗口的窗口句柄获取所述非普通窗口的窗口边界后还用于对所述非普通窗口的窗口边界进行高亮显示。
在一较佳的实施方式中,所述窗口截取模块在对所述非普通窗口进行截取时具体用于当鼠标被点击时,截取所述非普通窗口。
在一较佳的实施方式中,所述窗口截取模块在对所述非普通窗口进行截取后还用于保存截取的非普通窗口到剪切板或文件。
在一较佳的实施方式中,所述窗口截取模块在对所述非普通窗口进行截取后还用于在会话窗口中发送截取的非普通窗口。
在一较佳的实施方式中,窗口句柄获取模块还用于当鼠标位于普通窗口内时,根据鼠标的位置坐标获取所述普通窗口的窗口句柄;
窗口截取模块还用于当鼠标位于普通窗口内时,根据所述普通窗口的窗口句柄获取所述普通窗口的窗口边界,截取普通窗口。
所述普通窗口为由鼠标的位置坐标能直接获得对应的窗口句柄的窗口。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
1.一种截取屏幕中窗口的方法,其特征在于,所述方法包括:
当鼠标位于非普通窗口内时,根据鼠标的位置坐标获取所述非普通窗口的父窗口句柄;
根据所述父窗口句柄将鼠标的位置坐标转换为在父窗口内的窗口坐标;
根据所述窗口坐标和所述父窗口句柄获取所述非普通窗口的窗口句柄;
根据所述非普通窗口的窗口句柄获取所述非普通窗口的窗口边界,对所述非普通窗口进行截取;
其中,所述非普通窗口为由鼠标的位置坐标不能直接获得对应的窗口句柄的窗口;
所述非普通窗口包括:禁用窗口、不可见窗口、和/或透明窗口。
2.根据权利要求1所述的方法,其特征在于,
所述根据所述非普通窗口的窗口句柄获取所述非普通窗口的窗口边界后还包括:
对所述非普通窗口的窗口边界进行高亮显示。
3.根据权利要求1所述的方法,其特征在于,
所述对所述非普通窗口进行截取具体包括:
当鼠标被点击时,截取所述非普通窗口。
4.根据权利要求1所述的方法,其特征在于,
所述对所述非普通窗口进行截取后还包括:
保存截取的非普通窗口到剪切板或文件。
5.根据权利要求1所述的方法,其特征在于,
所述对所述非普通窗口进行截取后还包括:
在会话窗口中发送截取的非普通窗口。
6.根据权利要求1所述的方法,其特征在于,
所述方法还包括:
当鼠标位于普通窗口内时,根据鼠标的位置坐标获取所述普通窗口的窗口句柄;
根据所述普通窗口的窗口句柄获取所述普通窗口的窗口边界,对所述普通窗口进行截取;
其中,所述普通窗口为由鼠标的位置坐标能直接获得对应的窗口句柄的窗口。
7.一种截取屏幕中窗口的装置,其特征在于,所述装置包括:
父窗口句柄获取模块,用于当鼠标位于非普通窗口内时,根据鼠标的位置坐标获取所述非普通窗口的父窗口句柄;
坐标转换模块,用于根据所述父窗口句柄将鼠标的位置坐标转换为在父窗口内的窗口坐标;
窗口句柄获取模块,用于当鼠标位于非普通窗口内时,根据所述窗口坐标和所述父窗口句柄获取所述非普通窗口的窗口句柄;
窗口截取模块,用于当鼠标位于非普通窗口内时,根据所述非普通窗口的窗口句柄获取所述非普通窗口的窗口边界,对所述非普通窗口进行截取;
其中,所述非普通窗口为由鼠标的位置坐标不能直接获得对应的窗口句柄的窗口;
所述非普通窗口包括:禁用窗口、不可见窗口、和/或透明窗口。
8.根据权利要求7所述的装置,其特征在于,
所述窗口截取模块在根据所述非普通窗口的窗口句柄获取所述非普通窗口的窗口边界后还用于对所述非普通窗口的窗口边界进行高亮显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210160573.1A CN103425384B (zh) | 2012-05-22 | 2012-05-22 | 一种截取屏幕中窗口的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210160573.1A CN103425384B (zh) | 2012-05-22 | 2012-05-22 | 一种截取屏幕中窗口的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103425384A CN103425384A (zh) | 2013-12-04 |
CN103425384B true CN103425384B (zh) | 2016-08-03 |
Family
ID=49650213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210160573.1A Active CN103425384B (zh) | 2012-05-22 | 2012-05-22 | 一种截取屏幕中窗口的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103425384B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105389532A (zh) * | 2014-08-21 | 2016-03-09 | 江苏威盾网络科技有限公司 | 一种基于二维码的截图识别方法 |
CN106502509A (zh) * | 2016-10-26 | 2017-03-15 | 北京奇虎科技有限公司 | 特定窗口的信息采集方法、装置及终端 |
CN106897056A (zh) * | 2017-01-11 | 2017-06-27 | 山东华软金盾软件股份有限公司 | 一种实现窗口大小位置自动调整的方法 |
CN107229398A (zh) * | 2017-04-27 | 2017-10-03 | 广州慧扬健康科技有限公司 | 电子病历表单控件联动系统 |
CN107426239A (zh) * | 2017-08-17 | 2017-12-01 | 绿网天下(福建)网络科技股份有限公司 | 一种涉黄内容主动拦截的方法及终端 |
CN107704174A (zh) * | 2017-10-12 | 2018-02-16 | 威创集团股份有限公司 | 一种窗口抓取方法及系统、计算机装置及存储器 |
CN108595240B (zh) * | 2018-04-20 | 2021-12-14 | 北京天融信网络安全技术有限公司 | 屏幕快照的抓取方法、装置、设备及可读存储介质 |
CN109493546B (zh) * | 2018-10-30 | 2021-02-02 | 同程网络科技股份有限公司 | 一种收银方法、收银系统及收银装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101021872A (zh) * | 2007-01-17 | 2007-08-22 | 深圳市光芒科技有限公司 | 一种截取网页内容的方法 |
CN101635015A (zh) * | 2009-08-31 | 2010-01-27 | 北京飞天诚信科技有限公司 | 一种增强界面安全性的方法 |
CN102436339A (zh) * | 2011-08-17 | 2012-05-02 | 北京数码大方科技有限公司 | 模式对话框的显示控制方法及装置 |
-
2012
- 2012-05-22 CN CN201210160573.1A patent/CN103425384B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101021872A (zh) * | 2007-01-17 | 2007-08-22 | 深圳市光芒科技有限公司 | 一种截取网页内容的方法 |
CN101635015A (zh) * | 2009-08-31 | 2010-01-27 | 北京飞天诚信科技有限公司 | 一种增强界面安全性的方法 |
CN102436339A (zh) * | 2011-08-17 | 2012-05-02 | 北京数码大方科技有限公司 | 模式对话框的显示控制方法及装置 |
Non-Patent Citations (4)
Title |
---|
《编程疑难问题将诶大》;贺体刚;《电脑编程技巧与维护》;20060930(第9期);第86-91页 * |
Win95下地共享截图软件——HyperSnap2.79;陈海鹏;《多媒体世界》;19971130;第45-46页 * |
基于VC++的屏幕截图程序涉及;顾秋洁;《仪器仪表学报》;20070430;第28卷(第4期);第656-658页 * |
截图软件设计与实现的新方法;刘胜达等;《哈尔滨理工大学学报》;20091030;第14卷(第5期);第60-62,67页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103425384A (zh) | 2013-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103425384B (zh) | 一种截取屏幕中窗口的方法和装置 | |
US10055064B2 (en) | Controlling multiple devices with a wearable input device | |
US20180364865A1 (en) | Touch control method, user equipment, input processing method, mobile terminal and intelligent terminal | |
WO2017028577A1 (zh) | 群组聊天内容显示方法及装置 | |
EP4164203A1 (en) | Method for connecting mobile terminal and external display and apparatus implementing the same | |
CN111309226B (zh) | 基于通信质量的终端控制方法、装置、终端和计算机设备 | |
WO2019214072A1 (zh) | 一种显示输入法虚拟键盘的方法及终端 | |
CN111290695B (zh) | 基于优先级控制的终端控制方法、装置和终端 | |
CN104750498B (zh) | 一种控制鼠标模块的方法及电子设备 | |
CN104679469B (zh) | 车载终端及其获取手持终端的屏幕分辨率的方法 | |
US11947998B2 (en) | Display method and device | |
CN110113779B (zh) | eSIM卡的测试方法、系统和介质 | |
US20150304567A1 (en) | Photographic apparatus and photographing method | |
US20160364261A1 (en) | Apparatus and method for providing adaptive virtual desktop operating system service | |
CN111324248A (zh) | 终端控制方法、装置、终端、计算机设备和存储介质 | |
CN109213407A (zh) | 一种截图方法及终端设备 | |
CN105262880A (zh) | 一种应用于WiFi网络的手机控制演示系统 | |
CN111414097A (zh) | 一种交互方法、交互系统和显示设备 | |
CN103150116A (zh) | 一种基于rdp协议对云桌面进行放大显示的方法 | |
CN102664910B (zh) | 修正远程应用用户操作的方法、客户端和服务端 | |
KR20040108028A (ko) | 이동 통신 단말기의 원격 접속 방법 | |
CN102752281B (zh) | Twain协议的远程重定向方法及系统 | |
CN105681157A (zh) | 基于即时通信的长连接性能提示方法及装置 | |
CN111612688B (zh) | 一种图像处理方法、设备及计算机可读存储介质 | |
CN102520872A (zh) | 在具有显示屏的便携式无线路由中实现软键盘输入的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: Room 818, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080 Patentee after: BEIJING ULTRAPOWER SOFTWARE Co.,Ltd. Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building 6 storey block A Room 601 Patentee before: BEIJING ULTRAPOWER SOFTWARE Co.,Ltd. |