后台截屏

简介: HBITMAP GetWindowBitmap(HWND hWnd) { typedef BOOL ( __stdcall *pPrintWindow )(HWND ,HDC ,...
HBITMAP GetWindowBitmap(HWND hWnd)  
{  
	typedef BOOL ( __stdcall *pPrintWindow )(HWND ,HDC ,UINT );  
    RECT rect;   
	HMODULE h;  
	h = LoadLibrary( "user32.dll" );  
	pPrintWindow p;  
	if( h )  
	{  
		p = ( pPrintWindow )::GetProcAddress( h, "PrintWindow" );  
	}  
	
    ::GetWindowRect(hWnd,&rect);  
	
    HDC hScrDC=::GetDC(hWnd);                            //创建屏幕DC  
    HDC hMemDC=CreateCompatibleDC(hScrDC);                //创建内存DC  
    HBITMAP bitmap=::CreateCompatibleBitmap(hScrDC,rect.right-rect.left,rect.bottom-rect.top); //创建兼容位图  
    HBITMAP OldBitmap=(HBITMAP)::SelectObject(hMemDC,bitmap);    //把位图选进内存DC  
	
    p(hWnd,hMemDC,0);    
	
	HDC d;  
	HWND hw;  
	hw = ::GetDesktopWindow();  
	d = ::GetWindowDC( hw );  
	::BitBlt( d, 0, 0, 200, 200, hMemDC, 0, 0, SRCCOPY );  
	
    ::SelectObject(hMemDC,OldBitmap);   
	
    ::DeleteDC(hMemDC) ;            //删除内存DC  
    ::ReleaseDC(NULL,hScrDC) ;    //释放屏幕DC  
	
    return bitmap;  
} 

目录
相关文章
|
消息中间件 Prometheus 监控
Prometheus实战篇:什么是Exporter
所有可以向Prometheus提供监控样本数据的程序都可以被称为一个Exporter.而Exporter的一个实例称为target,如图下所示, Prometheus通过轮询的方式定期从这些target中获取样本数据
|
8月前
|
人工智能 自然语言处理 搜索推荐
浙大通义联手推出慢思考长文本生成框架OmniThink,让AI写作突破知识边界
随着大模型(LLMs)的发展,AI 写作取得了较大进展。然而,现有的方法大多依赖检索知识增强生成(RAG)和角色扮演等技术,其在信息的深度挖掘方面仍存在不足,较难突破已有知识边界,导致生成的内容缺乏深度和原创性。
415 46
|
9月前
|
存储 人工智能 JavaScript
Harmony OS开发-ArkTS语言速成二
本文介绍了ArkTS基础语法,包括三种基本数据类型(string、number、boolean)和变量的使用。重点讲解了let、const和var的区别,涵盖作用域、变量提升、重新赋值及初始化等方面。期待与你共同进步!
397 47
Harmony OS开发-ArkTS语言速成二
|
Java Maven 数据库
|
10月前
|
PHP
全新uniapp小说漫画APP小说源码/会员阅读/月票功能
价值980的uniapp小说漫画APP小说源码/会员阅读/月票功能
395 20
|
11月前
|
存储 运维 监控
开源日志分析工具
【10月更文挑战第20天】
821 3
|
小程序 开发者
Taro@3.x+Vue@3.x+TS开发微信小程序,使用自定义tabBar
本文介绍了如何在Taro项目中实现自定义tabBar。首先,在`app.config.ts`中设置`custom: true`并配置`tabBar`。
764 0
Taro@3.x+Vue@3.x+TS开发微信小程序,使用自定义tabBar
element UI 组件封装--搜索表单(含插槽和内嵌组件)
element UI 组件封装--搜索表单(含插槽和内嵌组件)
362 5
|
Linux Apache 开发者
在Linux中,开源软件和自由软件的区别?
在Linux中,开源软件和自由软件的区别?