如何取得隐藏窗口画面并保存为一张位图 ,急!!!

问题描述

假设有两个窗口,窗口1处于全屏状态,窗口2非显示,如何在保持窗口1全屏的情况下,取得窗口2的画面并保存为一张位图?我試過使用bitblt函數,但只能把屏幕上的控件拷貝過去,如果非屏幕上的控件就無法拷貝.以上均在vb6.0程序下.请教,谢谢

解决方案

解决方案二:
截取当前窗体的函数,我环境是vb.net2003,给你参考下吧PrivateDeclareFunctionCreateCompatibleDCLib"GDI32"(ByValhDCAsInteger)AsIntegerPrivateDeclareFunctionCreateCompatibleBitmapLib"GDI32"(ByValhDCAsInteger,ByValnWidthAsInteger,ByValnHeightAsInteger)AsIntegerPrivateDeclareFunctionSelectObjectLib"GDI32"(ByValhDCAsInteger,ByValhObjectAsInteger)AsIntegerPrivateDeclareFunctionBitBltLib"GDI32"(ByValsrchDCAsInteger,ByValsrcXAsInteger,ByValsrcYAsInteger,ByValsrcWAsInteger,ByValsrcHAsInteger,ByValdesthDCAsInteger,ByValdestXAsInteger,ByValdestYAsInteger,ByValopAsInteger)AsIntegerPrivateDeclareFunctionDeleteDCLib"GDI32"(ByValhDCAsInteger)AsIntegerPrivateDeclareFunctionDeleteObjectLib"GDI32"(ByValhObjAsInteger)AsIntegerDeclareFunctionGetDCLib"user32"Alias"GetDC"(ByValhwndAsInteger)AsIntegerConstSRCCOPYAsInteger=&HCC0020PublicSubpmjt()DimbmpAsBitmapDimhDC,hMDCAsIntegerDimhBMP,hBMPOldAsIntegerhDC=GetDC(0)hMDC=CreateCompatibleDC(hDC)hBMP=CreateCompatibleBitmap(hDC,Me.Width,Me.Height)hBMPOld=SelectObject(hMDC,hBMP)BitBlt(hMDC,0,0,Me.Width,Me.Height,hDC,Me.Left,Me.Top,SRCCOPY)hBMP=SelectObject(hMDC,hBMPOld)bmp=Image.FromHbitmap(NewIntPtr(hBMP))DeleteDC(hDC)DeleteDC(hMDC)DeleteObject(hBMP)DimofdAsNewSaveFileDialogofd.Filter="jpgfile|*.jpg|bmpfile|*.bmp"Ifofd.ShowDialog=DialogResult.OKThenbmp.Save(ofd.FileName)EndIfEndSub

解决方案三:
请问LS的GetDC是自定义的还是用Win32的API的那个。。。?
解决方案四:
DeclareFunctionGetDCLib"user32"Alias"GetDC"(ByValhwndAsInteger)AsInteger引用2楼Whnight的回复:

请问LS的GetDC是自定义的还是用Win32的API的那个。。。?

解决方案五:
你好,我的意思可能沒有講清楚,是這樣的:當一個Form的高度大於屏幕高度時,此時form上的控件比如textbox框由於超出屏幕顯示範圍,就不可見
解决方案六:
getdc(0)好像取得是當前屏幕的dc,我現在想去不可見部份的控件,存成圖片,謝謝!!

时间: 2024-09-11 12:54:56

如何取得隐藏窗口画面并保存为一张位图 ,急!!!的相关文章

wpf 线程 自动保存隐藏窗口 效果图

问题描述 我正在获取仪表曲线,默认是隐藏的,但曲线一直在绘制.每个一段时间自动要保存成效果图.我用句柄获取隐藏窗口代码如下:IntPtrhscrdc=GetWindowDC(hWnd);//Controlcontrol=Control.FromHandle(hWnd);Windowxx=(Window)System.Windows.Interop.HwndSource.FromHwnd(hWnd).RootVisual;IntPtrhbitmap=CreateCompatibleBitmap(h

基于JavaScript实现图片点击弹出窗口而不是保存_javascript技巧

一直想给安装一个缩略图点击弹出的插件,但是找了找几乎都是用的php来做的,插件的使用和安装极其繁琐,于是上网查了些demo,自己实现了一个纯js的图片弹出插件. 实现的思路是通过编写hook图片的onclick事件的函数,在函数中对body追加div元素,再将传入的图片对象放入元素中,同时再监听div的onclilck事件,当捕捉到点击,再关闭(其实是隐藏)弹出的div. 通过在函数初始化的时候收集页面所有的img元素,再为每个img元素增加onclick="picHook(this)"

运行bat时隐藏cmd窗口的方法(bat隐藏窗口 隐藏运行bat文件)_vbs

这里简单的整理下常用方法,方便大家使用.都是通过vbscript的代码.运行bat时隐藏cmd窗口的方法 可以编辑一个vbs脚本,在其中以隐藏窗口运行批处理程序. 复制代码 代码如下: Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c 批处理程序名",vbhide 将上面代码拷贝到记事本中,保存为"runbat.vbs"或者其它的名字(扩展名必须是.vbs),然后点击运行生成的脚本runb

如何隐藏窗口的TITLE标题?(原创)

原创 如何隐藏窗口的TITLE标题? 问题描述: 如何隐藏窗口的TITLE标题? 解决方案: 1.把下列声明加到GLOBAL EXTERNAL FUNCTIONS:   Function ulong SetWindowPos(ulong hwnd,ulong hWndInsertAfter,ulong x,ulong y,ulong cx,ulong cy,ulong wFlags) LIBRARY "user32.dll" Function ULong SetWindowLongA(

python在windows下创建隐藏窗口子进程的方法

  本文实例讲述了python在windows下创建隐藏窗口子进程的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 import subprocess IS_WIN32 = 'win32' in str(sys.platform).lower() def subprocess_call(*args, **kwargs): #also works for Popen. #It creates a new *hidden* window

电脑中打开图片另存为窗口没有可以保存到桌面的选项如何解决

  电脑中打开图片另存为窗口没有可以保存到桌面的选项如何解决          1.如果要保存一张图片,通常会右击图片,选择"图片另存为"; 2.但是打开的另存为窗口却没有可以保存到桌面的选项; 3.这时可以右击左侧的"库",选择"新建"; 4.新建的库可以命名为"桌面"; 5.点击这个新建的库"桌面",点击"包括一个文件夹"; 6.点击左上角的用户文件夹,可以在里面看到桌面的图标,并双

地图某块区域保存为一张图片

问题描述 <1>地图某块区域保存为一张图片(微软地图开发必须是)<2>一定是保存为一张图片 解决方案 解决方案二:路过帮顶=============11月6日,论坛升级公告,积分已经做了调整!http://topic.csdn.net/u/20081107/11/b27dc75f-14b1-4594-9de3-5b18d9e36a11.html此次调整增加了两个新的可用分获取渠道:1:帖子被推荐(加精)后,帖主可以获得88分的可用分奖励:2:帖子结帖后会返还帖主50%的悬赏分,无满

重新想象 Windows 8 Store Apps (26) - 选取器: 自定义文件选取窗口, 自定义文件保存窗口

原文:重新想象 Windows 8 Store Apps (26) - 选取器: 自定义文件选取窗口, 自定义文件保存窗口 [源码下载] 重新想象 Windows 8 Store Apps (26) - 选取器: 自定义文件选取窗口, 自定义文件保存窗口 作者:webabcd 介绍重新想象 Windows 8 Store Apps 之 选取器 FileOpenPickerUI - 自定义文件打开选取器 FileSavePickerUI - 自定义文件保存选取器 示例1. 开发一个自定义文件选取窗

JS实现随页面滚动显示/隐藏窗口固定位置元素_javascript技巧

窗口固定位置显示元素,当页面高度大于某高度,并且页面向下滚动时,显示该元素:当页面位置小于某高度,或者页面向上滚动时,隐藏该元素. 先给大家展示下效果图: 1.html <p id="selected-case-count"><span class='form-control'>已选: <span class="casecount">0</span></span></p> 2.css p#sel