win32汇编 屏幕截图保存BMP 学习笔记<第一篇>之资料搜集

原创 2016年05月12日 12:10:12

背景
本人刚自学编程不久 会有很多初级错误 绕了很多弯路 记录下来也分享给各位网友 如有指教请在评论区留言 请轻拍
最近在做软件屏幕识别 考虑到计时效率选择了win32汇编
(其实是因为我还没有学会用VC, 那个project文件多到让人头大 )
之前用GetPixel函数做几个像素的抓取 但是采样点数增多的话效率骤降
根据下面这篇文章
http://www.cnblogs.com/xrwang/articles/1276826.html
结论
memcmp 整个屏幕像素对比 比GetPixel效率高很多 也更准确(因为全屏对比了嘛)

那接下来的问题是 如何抓取屏幕转换成为BMP格式那种的数据呢?
看到有些人用的C++/.net GDI+ API 我一度想放弃了 虽然win32汇编也有GDIPlus的lib 但是觉得太麻烦了 不如换C++

后来网上搜索找到了论坛里的一些讨论看到Win32汇编GDI直接可以做截图又燃起了我心中的希望
我也来学着写(东拼西凑)一个截屏保存的程序出来练练手吧
看这里 http://bbs.csdn.net/topics/340047369
这里要感谢网友 raiky他的这个帖子贴出来的第一个函数_GetCaptureBmp 给了我很大启发 我后面的代码就是在这个基础上修改的
可是上面这个论坛的帖子 看的云里雾里 因为我还是门外汉啊
raiky的程序是有点问题的 需要逐步推敲 还好有网友的讨论给我流下了一些猜测的方向

接下来搜到了下面这篇文章 网友norains很认真的写下了详细的注释 在此非常感谢
http://blog.csdn.net/norains/article/details/4594514
虽然是写的WINCE 但是API函数是通用的,看完这篇文章我算是对windows下的截图转换BMP有了初步的认识,整个流程也渐渐清晰了

版权声明:本文为博主原创文章,未经博主允许不得转载。

win32汇编 屏幕截图保存BMP 学习笔记<第二篇>之东拼西凑

接下来开始动手 先看raiky的代码_GetCaptureBmp proc uses ebx esi edi LOCAL @hDc,@MemDc,@Data LOCAL @bi:B...
  • ppluer
  • ppluer
  • 2016年05月12日 12:28
  • 540

win32汇编 屏幕截图保存BMP 学习笔记<第三篇>之odbg调试

我们来回顾下raiky code 根据帖子里的讨论错误的疑点在于 1. 对每个像素所占字节的估算可能有误 wBitCount;位图中每个像素所占字节数 简单的赋值4 2. 涉及到后面的调色板的...
  • ppluer
  • ppluer
  • 2016年05月12日 12:52
  • 644

win32ASM截图保存为BMP

  • 2016年05月13日 16:05
  • 3KB
  • 下载

win32画图程序 可保存bmp 截图

  • 2017年05月21日 18:19
  • 15.42MB
  • 下载

Win32汇编学习笔记(罗云彬)(二)

1.代码段的属性是由PE头部中的属性位决定的,通过编辑exe文件,把代码段的属性位改为可写,程序就允许修改自己的代码段。典型的应用如:这对可执行文件的压缩软件和加壳软件。 2.堆栈段的内存属性是可读...

win32汇编学习笔记3

分析简单的win32程序格式 根据以前的小程序样式来简单分析一下: .386 .model flat,stdcall   这一句是定义内存方式,语言格式 .option casemap:nom...

Win32汇编学习笔记之基础篇

基础篇 第一章 背景知识 1.1 Win32的软硬件平台 1.1.1    80x86系列处理器简史 Win32可以在多种硬件平台上运行,但使用最广泛的硬件平台是基于In...

win32程序设计学习笔记

  • 2010年06月30日 21:46
  • 2.08MB
  • 下载

深入浅出MFC学习笔记:(第一章:win32基本概念,第二章:C++的重要性质)

深入浅出MFC阅读笔记:   写在开始的话: 刚结束《C++primer》的第二次阅读,决定趁热打铁,学习《深入浅出MFC》。当然,学习框架不是目的,而是通过学习MFC底层框架实现原理,对C...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:win32汇编 屏幕截图保存BMP 学习笔记<第一篇>之资料搜集
举报原因:
原因补充:

(最多只允许输入30个字)