L liuge Unregistered / Unconfirmed GUEST, unregistred user! 2006-03-08 #1 用Bitblt函数抓图,如果要抓的窗口不在最上层(即被其他窗口覆盖),则不能抓到该窗口的图像,而是覆盖在其上的其他窗口的图像。 如何才能抓到不在最上层的窗口呢?
L liuge Unregistered / Unconfirmed GUEST, unregistred user! 2006-03-10 #5 to hupeh: 被抓图的窗口不在最顶层的我没找到。
L lqcros Unregistered / Unconfirmed GUEST, unregistred user! 2006-03-10 #7 获得要抓图的窗口句柄 在 使用这个函数把窗口弄到前台 BOOL SetForegroundWindow( HWND hWnd // handle of window to bring to foreground );
获得要抓图的窗口句柄 在 使用这个函数把窗口弄到前台 BOOL SetForegroundWindow( HWND hWnd // handle of window to bring to foreground );
L liuge Unregistered / Unconfirmed GUEST, unregistred user! 2006-03-10 #8 我不想改变我要抓的窗口的运行状态,也就是说,当该窗口被其他窗口覆盖时,我也希望能对该窗口进行复制
S sanpi678 Unregistered / Unconfirmed GUEST, unregistred user! 2006-03-10 #9 显示窗口应该是绘制图象的一个过程,既然你能得到句柄,那就根据窗口绘制信息和绘制过程绘制出来一个图再保存就ok了,我不知道这样做是否行的通,我的一点见解。
C cactus123456 Unregistered / Unconfirmed GUEST, unregistred user! 2006-03-10 #10 得到窗口的DC就可以了,我以前抓过,但是抓的是自己程序的窗口,当然是覆盖后的,不过我想原理是一样的
网 网中戏 Unregistered / Unconfirmed GUEST, unregistred user! 2006-03-10 #12 getdc(hwnd); 桌面 hwnd:=0; 程序 hwnd:= [red]hwnd[/red] //程序的句柄
L liuge Unregistered / Unconfirmed GUEST, unregistred user! 2006-03-10 #13 类似这样的代码: dc := GetWindowDC( 窗口A的handle ); BitBlt(self.Canvas.Handle , 0,0,screen.Width,screen.Height, dc, 0,0,SRCCOPY); 如果窗口A不在顶层,是取不到窗口A的图像的
类似这样的代码: dc := GetWindowDC( 窗口A的handle ); BitBlt(self.Canvas.Handle , 0,0,screen.Width,screen.Height, dc, 0,0,SRCCOPY); 如果窗口A不在顶层,是取不到窗口A的图像的
C CookieTian Unregistered / Unconfirmed GUEST, unregistred user! 2006-03-10 #14 弄到前台再恢复原样 有个很好的软件就是这样处理的,HyperSnap-DX
L liuge Unregistered / Unconfirmed GUEST, unregistred user! 2006-03-10 #15 To CookieTian, 我不想改变我要抓的窗口的运行状态,也就是说,当该窗口被其他窗口覆盖时,我也希望能对该窗口进行复制
W weichao9999 Unregistered / Unconfirmed GUEST, unregistred user! 2006-03-10 #16 别费事了 BitBlt API函数的功能是将屏幕上任何一块拷贝到屏幕上其它任何一个地方。 没有在屏幕上显示的画面是抓不出来的
L liuge Unregistered / Unconfirmed GUEST, unregistred user! 2006-03-10 #17 to weichao9999, 我就是要问有什么别的办法可以做到
W weichao9999 Unregistered / Unconfirmed GUEST, unregistred user! 2006-03-10 #18 被抓的程序是你做的吗,如果是这样的话还有办法,不是的话可就困难了,我是做不出来
L liuge Unregistered / Unconfirmed GUEST, unregistred user! 2006-03-10 #19 to weichao9999, 被抓的程序不是我做的. 如果窗口是自己写的,不在被抓窗口的代码里面做文章,请谈谈如何抓
2 2571297 Unregistered / Unconfirmed GUEST, unregistred user! 2006-03-17 #20 这个问题我以前也问过,不过没有解决,,帮你顶。。。关注。。。