yww
yww
驱动牛犊
驱动牛犊
  • 注册日期2001-05-07
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分322分
  • 威望34点
  • 贡献值0点
  • 好评度33点
  • 原创分0分
  • 专家分0分
阅读:2433回复:12

哪位大侠知道windows下哪个api负责把数据写到显存里?

楼主#
更多 发布于:2001-08-18 14:45
如题

最新喜欢:

jmzz003jmzz00... beni_wbeni_w
winewin
驱动牛犊
驱动牛犊
  • 注册日期2001-08-09
  • 最后登录2002-04-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-08-23 10:40
我也关心这个问题,但没找到,不过我查到SetDIBitsToDevice挺快的我测试过360*288的RGB数据30/s,听人说该函数用DMA的,再者就用director了,有兴趣我们讨论讨论:zh_x_l@263.net
yww
yww
驱动牛犊
驱动牛犊
  • 注册日期2001-05-07
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分322分
  • 威望34点
  • 贡献值0点
  • 好评度33点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-08-23 17:54
多谢指教,我会与您联系。
但最好别在这里公开邮件地址,否则会招来很多广告信。
winewin
驱动牛犊
驱动牛犊
  • 注册日期2001-08-09
  • 最后登录2002-04-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-08-23 18:07
我也是新手,交流一下,要想深入的就得看directX了,那里有你要的东西,不过我是不懂的:-)
wentao
驱动牛犊
驱动牛犊
  • 注册日期2001-05-25
  • 最后登录2003-12-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-08-25 13:51
如果可以得到显卡的内存地址,可以直接向内存地址写就可以了!主要是的导显卡的内存地址!
wentao
weball
驱动牛犊
驱动牛犊
  • 注册日期2001-08-06
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-08-25 15:06
显卡的内存地址可以在windriver中看到的,或者可以遍历一下设备资源就可以知道了
winewin
驱动牛犊
驱动牛犊
  • 注册日期2001-08-09
  • 最后登录2002-04-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2001-08-27 19:23
楼上的两位大侠,是不是每块显卡的内存地址都一样了?一样倒好办可以写通用的程序了,不一样的话就~~~~~~~~,请指教
leerom
驱动小牛
驱动小牛
  • 注册日期2001-06-08
  • 最后登录2010-08-31
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望22点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2001-08-31 17:23
虽然说只要找到显存的地址就可以往里灌数据,但是您不要忘记还有其他的小朋友也要使用显存(比如其他的应用的窗口覆盖了你的应用窗口。。。)。要写显存的函数API太多了,画线、写字、位图传送。。。都要写显存,只不过写的方法不同罢了。比如画线函数只提供起始点,由驱动程序或者硬件来完成中间数据的填充,而位图传送则是将整幅位图写入显存。不如将的目的具体的写出来,大家来参详一下。
leerom
wentao
驱动牛犊
驱动牛犊
  • 注册日期2001-05-25
  • 最后登录2003-12-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2001-08-31 18:07
显卡的内存地址是由PC机来进行分配的,所以不一定一样。
wentao
yww
yww
驱动牛犊
驱动牛犊
  • 注册日期2001-05-07
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分322分
  • 威望34点
  • 贡献值0点
  • 好评度33点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2001-09-01 21:21
谢谢大家的回答,
我的目的是写一个监控程序,监测客户机的屏幕变化,想要在客户机
的屏幕刷新后传一幅图给主机
oneq
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录2001-11-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2001-09-02 09:14
To yww:
    您的需求可用以下API实现:

GetDesktopWindow();
GetWindowDC(hwnd);
GetDeviceCaps(hdc,HORZRES);
GetDeviceCaps(hdc,VERTRES);
GetPixel();
我曾用它们做过一个监视屏幕变化的一个应用。
yww
yww
驱动牛犊
驱动牛犊
  • 注册日期2001-05-07
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分322分
  • 威望34点
  • 贡献值0点
  • 好评度33点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2001-09-03 07:39
多谢oneq,
我试试
svgxl
驱动牛犊
驱动牛犊
  • 注册日期2001-08-30
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2001-09-06 19:33
最直接的方法就是利用VBE(2.0以上)吧整个显存映射到内存里。但这只是实现修改显存,想直接写屏还是不行,因为Primary Surface的起始地址是不一定的。
[svgxl 编辑于 2001-09-06 20:50]
游客

返回顶部