用PrintWindow截屏得到的图片是全黑色的,请问是何缘故?

问题描述

根据网络上得到的代码,进行截屏,截桌面和文件夹时,可以得到预计的图片,网页都可以,但是截取一些软件,例如系统自带的计算器等等得到的图片是全黑的,请问是和缘故?[code=csharp][/[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);boolre=PrintWindow(hWnd,hmemdc,0);Bitmapbmp=newBitmap(rect.Width,rect.Height);if(re){bmp=Bitmap.FromHbitmap(hbitmap);}DeleteObject(hbitmap);DeleteDC(hmemdc);ReleaseDC(hWnd,hscrdc);returnbmp;}code]

时间: 2025-01-21 07:51:34

用PrintWindow截屏得到的图片是全黑色的,请问是何缘故?的相关文章

Android截屏保存png图片的实例代码_Android

复制代码 代码如下: import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException; import android.app.Activity;import android.graphics.Bitmap;import android.graphics.Rect;import android.util.Log;import android.view.View; publ

Android截屏保存png图片的实例代码

复制代码 代码如下:import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException; import android.app.Activity;import android.graphics.Bitmap;import android.graphics.Rect;import android.util.Log;import android.view.View; publi

每日Ubuntu小技巧——截屏

Ubuntu 是一个功能强大的现代化操作系统,支持你进行多种任务.从使用 Libreoffice 创建和编辑文档到使用 GIMP 处理图片,Ubuntu 都是最佳选择. 如果你需要一个功能强大的操作系统来完成工作,那么你一定会考虑选择 Ubuntu. 你可以用 Ubuntu 来完成的另一件事情是为你的桌面截屏或者激活应用程序的窗口.你可以安装很多第三方工具来完成这些事情,但是实际没有必要,因为 Ubuntu 安装时已自带这些功能. 如果你想向别人展示如何在Ubuntu上面做一些事情,那么这个应用

华为P8指关节截屏怎么用 指关节截屏是什么?

什么是手指关节截屏? 指关节截屏是指在华为P8上能够区分手指指肚和手指关节,当用户用手指指肚触摸屏幕时是正常的多点触控操作,而当用户使用手指指关节敲击屏幕时,系统能够准确识别,并作出相应响应.在华为P8中使用指关节截屏方法为: 1.连续指关节叩击屏幕是全屏截图,当然全屏截图也可以使用电源键和音量组合快捷键, 2.指关节在屏幕上滑动即可局部截屏. 考虑到华为P8并没有专门侦测手指操作的传感器,我们猜测华为是利用手指指肚和指关节接触触摸屏面积的不同来区分两者. 华为P8指关节截屏怎么用 使用方法很简

android截屏功能实现代码_Android

android开发中通过View的getDrawingCache方法可以达到截屏的目的,只是缺少状态栏! 原始界面 截屏得到的图片 代码实现 1. 添加权限(AndroidManifest.xml文件里) 复制代码 代码如下: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 2. 添加1个Button(activity_main.xml文件) <RelativeL

华为Mate S手机指关节截屏使用方法

华为Mate S指关节截屏使用方法 我们拿着新手机然后打开手机桌面的"设置"然后进入之后我们点击"智能截屏"然后主可以直接使用指关节叩击屏幕,即可截屏,效果如下图所示. 双击屏幕我们就可以实现"全屏截屏":我们就可以划一个圈就可以实现截图了,同时也可以进行调整了,如下图所示. 截屏后的图片,我们可以华为Mate S手机找到"相册"了,效果如下所示. 指关节识别带来了更贴心的体验,不仅实现单指关节截屏,画字母启动应用还添加双指关

vivo x5pro手机2种截图/截屏的方法

vivo x5pro截图方法有两种方法 在要截图的界面我们长按home然后,然后在弹出"截图"按钮,我们点击即可截图了,这里可以选择你想要截图的方法趣味截图和长截屏"趣味截屏"后出现三个选项:矩形截屏,套索截屏,涂鸦截屏. 第二种方法,同样使用Android系统手机自带的截图方案,我们只需要进入截图界面,然后按下"home键和电源键"如下衅所示 2.截屏成功后图片文件可以在系统自带的相册里找到,如果要将其拷贝到电脑可以在 [文件管理]中的[手机U

三星S3 Neo+如何使用按键截屏?S3 I9300I截屏方法图解

一,I9300I截屏方法 我们在手机中同时按下[主屏幕]键和手机右侧的[电源]大概3秒左右的时间就会看到截屏提示了.       截屏之后的图片文件保存在哪里呢 1.在待机页面下,点击[应用程序-[Samsung-[我的文件-所有文件-Pictures-Screenshots 进入到这里面就可以看到截屏的图片了. 友情提示,如果你使用的是S5手机那么 会有很多种截屏方式哦,在此我就不介绍了哦,希望文章对各位有帮助呀.  

android截屏功能实现代码

android开发中通过View的getDrawingCache方法可以达到截屏的目的,只是缺少状态栏! 原始界面 截屏得到的图片 代码实现 1. 添加权限(AndroidManifest.xml文件里) 复制代码 代码如下:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 2. 添加1个Button(activity_main.xml文件) <RelativeLa