已知道第三方软件的窗口句柄,如何获得第三方软件(最小化)的窗口截图

问题描述

例如:windows打开了“计算器”这个软件,我也获取到这个“计算器”的窗口句柄,但是这个“计算器”窗口被最小化了,怎么能够获取到它的窗口截图?[DllImport("user32.dll")]publicstaticexternIntPtrGetWindowDC(IntPtrhwnd);publicBitmapGetWindow(IntPtrhWnd){IntPtrhscrdc=GetWindowDC(hWnd);varrect=Rectangle.Empty;varresult=GetWindowRect(hWnd,refrect);IntPtrhbitmap=CreateCompatibleBitmap(hscrdc,rect.Width,rect.Height);IntPtrhmemdc=CreateCompatibleDC(hscrdc);SelectObject(hmemdc,hbitmap);PrintWindow(hWnd,hmemdc,0);Bitmapbmp=Bitmap.FromHbitmap(hbitmap);DeleteDC(hscrdc);//删除用过的对象DeleteDC(hmemdc);//删除用过的对象returnbmp;}

这个程序有问题,“计算器”没有被最小化,得到的图像也是黑屏,如果被最小化,就报错了。我百度了一下,说是只要窗体的visable为false,请问如何做可以实现我的上述要求呢?

解决方案

解决方案二:
帮你顶吧,以前写过,忘记了。

时间: 2024-12-10 17:38:53

已知道第三方软件的窗口句柄,如何获得第三方软件(最小化)的窗口截图的相关文章

qtp:vbs基础教程

◎Vbs脚本编程简明教程之一-为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改名.删除,也许你每天启动计算机第一件事情就是打开WORD,切换到你喜爱的输入法进行文本编辑,同时还要播放优美的音乐给工作创造一个舒心的环境,当然也有可能你经常需要对文本中的某些数据进行整理,把各式各样的数据按照某种规则排列起来--.这些事情重复.琐碎,使人容易疲劳. 第三方软件也许可以强化计算机的某些功能,但是解决这

Vbs脚本经典教材(最全的资料还是MSDN)_vbs

  -为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改名.删除,也许你每天启动计算机第一件事情就是打开WORD,切换到你喜爱的输入法进行文本编辑,同时还要播放优美的音乐给工作创造一个舒心的环境,当然也有可能你经常需要对文本中的某些数据进行整理,把各式各样的数据按照某种规则排列起来--.这些事情重复.琐碎,使人容易疲劳. 第三方软件也许可以强化计算机的某些功能,但是解决这些重复劳动往往事倍功半,

API之控件与消息函数

AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小 AnyPopup 判断屏幕上是否存在任何弹出式窗口 ArrangeIconicWindows 排列一个父窗口的最小化子窗口 AttachThreadInput 连接线程输入函数 BeginDeferWindowPos 启动构建一系列新窗口位置的过程 BringWindowToTop 将指定的窗口带至窗口列表顶部 CascadeWindows 以层叠方式排列窗口 ChildWindowFromPoint 返回

windows常用 API函数

系统API查询 http://www.vbgood.com/api.html http://hi.baidu.com/3582077/item/9cc3483b581f53c5392ffae3 第一个:FindWindow根据窗口类名或窗口标题名来获得窗口的句柄,该函数返回窗口的句柄, 这个函数的定义是这样的 HWND WINAPI FindWindow(LPCSTR lpClassName,LPCSTR lpWindowName);第一个参数填窗口的类名,第二个填窗口的标题名,其实是不需要同时

windows常用API函数

系统API查询 http://www.vbgood.com/api.html http://hi.baidu.com/3582077/item/9cc3483b581f53c5392ffae3 第一个:FindWindow根据窗口类名或窗口标题名来获得窗口的句柄,该函数返回窗口的句柄, 这个函数的定义是这样的 HWND WINAPI FindWindow(LPCSTR lpClassName,LPCSTR lpWindowName);第一个参数填窗口的类名,第二个填窗口的标题名,其实是不需要同时

API各函数作用简介

API各函数作用简介 1.控件与消息函数 AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小 AnyPopup 判断屏幕上是否存在任何弹出式窗口 ArrangeIconicWindows 排列一个父窗口的最小化子窗口 AttachThreadInput 连接线程输入函数 BeginDeferWindowPos 启动构建一系列新窗口位置的过程 BringWindowToTop 将指定的窗口带至窗口列表顶部 CascadeWindows 以层叠方式排列窗口 Ch

Windows API 函数列表 附帮助手册

原文:Windows API 函数列表 附帮助手册 所有Windows API函数列表,为了方便查询,也为了大家查找,所以整理一下贡献出来了.   帮助手册:700多个Windows API的函数手册 免费下载   API之网络函数 API之消息函数 API之文件处理函数 API之打印函数 API之文本和字体函数 API之菜单函数 API之位图.图标和光栅运算函数 API之绘图函数 API之设备场景函数 API之硬件与系统函数 API之进程和线程函数 API之控件与消息函数     1. API

Windows CE API大全

1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接 WNetDisconne

使用API函数查找窗体并激活

 生成程序时,有时需要限制用系统中只有一个实例在运行,这就需要我们在检测到系统中已有程序的实例在运行时,将这个已经在运行的实例,激活并显示在用户面前这里主要用到了FindWindow ,和 SetForegroundWindow这两个函数     /// <summary>/// The FindWindow API/// </summary>/// <param name="lpClassName">the class name for the w