GDI问题...... [英] GDI questions...

查看:99
本文介绍了GDI问题......的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你能用VB.Net设置一个系统范围的钩子来拦截从

GDI到系统硬件的所有GDI调用吗?我想截取发送给系统硬件层的所有GDI指令




到DEVICE(可以是打印机或显示单元或可以获得
a设备上下文的任何设备)并且设备执行绘图。 />

另外......如果有人能告诉我双(实际上最多9个)显示器如何显示

的东西是有效的 - 从Win98开始 - 那就是太棒了。如果我知道

是如何工作的,我认为它会帮助我进行屏幕捕获。

Can you use VB.Net to set a system-wide hook to intercept all GDI calls from
GDI to the system''s hardware? I want to intercept all GDI instructions sent
to the system''s hardware layer.

As I understand it (and I may be missing something) GDI sends instructions
to a DEVICE (which can be a printer or display unit or any device for which
a device context can be obtained) and the device does the drawing.

Also...if anyone can tell me how the dual (actually up to 9) monitor display
thing works - starting with Win98 - that''d be fantastic. If I knew how that
works, I think it''d help me in my screen captures.

推荐答案

for屏幕截图你可以用屏幕做一个BitBlt()(HWND = 0)


" Jim Hubbard" <再*** @ groups.please>在消息中写道

新闻:J2 ***************** @ bignews6.bellsouth.net ...
for screen capture you might do a BitBlt() with the screen (HWND=0)

"Jim Hubbard" <re***@groups.please> wrote in message
news:J2*****************@bignews6.bellsouth.net...
你能来吗?使用VB.Net设置一个系统范围的钩子来拦截从GDI到系统硬件的所有GDI调用
?我想拦截发送到系统硬件层的所有GDI指令


据我了解(我可能遗漏了一些东西)GDI发送指令
设备(可以是打印机或显示器或任何设备上下文可以获得设备上下文的设备)和设备完成图纸。

此外......如果有人可以告诉我双(实际上最多9个)监视器
显示的东西如何工作 - 从Win98开始 - 这将是太棒了。如果我知道
如何运作,我认为它会帮助我进行屏幕截图。
Can you use VB.Net to set a system-wide hook to intercept all GDI calls from GDI to the system''s hardware? I want to intercept all GDI instructions sent to the system''s hardware layer.

As I understand it (and I may be missing something) GDI sends instructions
to a DEVICE (which can be a printer or display unit or any device for which a device context can be obtained) and the device does the drawing.

Also...if anyone can tell me how the dual (actually up to 9) monitor display thing works - starting with Win98 - that''d be fantastic. If I knew how that works, I think it''d help me in my screen captures.



当然.. ..我可以。但是,那还需要多次BitBlt()调用,然后我就不得不一遍又一遍地以压缩格式保存图像。


和BitBlt一样快,将图像写入hdd的速度也不是那么快。

虽然我可以将图像保存在一个数组中,但只能经常写入,

数组填充的速度远远快于压缩它们的能力,并且
将它们写入磁盘。


通过捕获GDI流(基本上是文本)我可以压缩并保持更多信息,而不是实际图像,而不会损失颜色或尺寸

图像。


感谢帖子!

" Lloyd Dupont" < ld@NewsAccount.galador.net>在消息中写道

news:%2 **************** @ TK2MSFTNGP11.phx.gbl ...
Sure....I could. But, that''d also require multiple BitBlt() calls, then I''d
have to save the images in a compressed format over and over.

As fast as BitBlt is, writing the images to the hdd is not nearly as fast.
Although I could keep the images in an array and only write every so often,
the array would fill up far faster than the ability to compress them and
write them to disk.

By trapping the GDI stream (basically text) I can compress and hold MUCH
more information than with actual images with no loss of color or size in
the images.

Thanks for the post though!
"Lloyd Dupont" <ld@NewsAccount.galador.net> wrote in message
news:%2****************@TK2MSFTNGP11.phx.gbl...
for screen捕获你可能用屏幕做一个BitBlt()(HWND = 0)

Jim Hubbard <再*** @ groups.please>在消息中写道
新闻:J2 ***************** @ bignews6.bellsouth.net ...
for screen capture you might do a BitBlt() with the screen (HWND=0)

"Jim Hubbard" <re***@groups.please> wrote in message
news:J2*****************@bignews6.bellsouth.net...
你能用VB.Net吗?设置一个系统范围的钩子来拦截所有GDI调用
Can you use VB.Net to set a system-wide hook to intercept all GDI calls


GDI到系统的硬件?我想拦截所有GDI指令
GDI to the system''s hardware? I want to intercept all GDI instructions


发送

到系统的硬件层。

据我了解(我可能是丢失的东西)GDI将
指令发送到DEVICE(可以是打印机或显示单元或
to the system''s hardware layer.

As I understand it (and I may be missing something) GDI sends instructions to a DEVICE (which can be a printer or display unit or any device for


的任何设备,其中


which

可以获取设备上下文)设备完成了绘图。

另外......如果有人能告诉我双(实际上最多9个)监视器
a device context can be obtained) and the device does the drawing.

Also...if anyone can tell me how the dual (actually up to 9) monitor


如何显示


display

事情有效 - 从Win98开始 - 那太棒了。如果我知道怎么
thing works - starting with Win98 - that''d be fantastic. If I knew how


有效,我认为它会帮助我进行屏幕截图。
works, I think it''d help me in my screen captures.




只是一个想法(没有经过测试,甚至不确定它是否可行)

内存中的图片怎么样?CreateCompatibleDC()

用这个HDC调用BeginPaint()和HWND为((HWND)0)?

然后保存图片?


你没有得到所有的内部信息,但它很简单!它甚至可能有用吗?!

Lloyd Dupont < ld@NewsAccount.galador.net>在消息中写道

news:%2 **************** @ TK2MSFTNGP11.phx.gbl ...
just an idea (not tested, not even sure it would work)
what about an in-memory picture woth CreateCompatibleDC()
the call BeginPaint() with this HDC and a HWND of ((HWND) 0) ?
and then save the picture ?

you don''t get all the internal info but it''s simple! it might even work ?!
"Lloyd Dupont" <ld@NewsAccount.galador.net> wrote in message
news:%2****************@TK2MSFTNGP11.phx.gbl...
for screen捕获你可能用屏幕做一个BitBlt()(HWND = 0)

Jim Hubbard <再*** @ groups.please>在消息中写道
新闻:J2 ***************** @ bignews6.bellsouth.net ...
for screen capture you might do a BitBlt() with the screen (HWND=0)

"Jim Hubbard" <re***@groups.please> wrote in message
news:J2*****************@bignews6.bellsouth.net...
你能用VB.Net吗?设置一个系统范围的钩子来拦截所有GDI调用
Can you use VB.Net to set a system-wide hook to intercept all GDI calls


GDI到系统的硬件?我想拦截所有GDI指令
GDI to the system''s hardware? I want to intercept all GDI instructions


发送

到系统的硬件层。

据我了解(我可能是丢失的东西)GDI将
指令发送到DEVICE(可以是打印机或显示单元或
to the system''s hardware layer.

As I understand it (and I may be missing something) GDI sends instructions to a DEVICE (which can be a printer or display unit or any device for


的任何设备,其中


which

可以获取设备上下文)设备完成了绘图。

另外......如果有人能告诉我双(实际上最多9个)监视器
a device context can be obtained) and the device does the drawing.

Also...if anyone can tell me how the dual (actually up to 9) monitor


如何显示


display

事情有效 - 从Win98开始 - 那太棒了。如果我知道怎么
thing works - starting with Win98 - that''d be fantastic. If I knew how


有效,我认为它会帮助我进行屏幕截图。
works, I think it''d help me in my screen captures.




这篇关于GDI问题......的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆