接下来开始动手 先看raiky的代码
_GetCaptureBmp proc uses ebx esi edi
LOCAL @hDc,@MemDc,@Data
LOCAL @bi:BITMAPINFO
invoke RtlZeroMemory,addr @bi,sizeof @bi
mov ebx,sizeof BITMAPINFO
mov @bi.bmiHeader.biSize,ebx
invoke GetSystemMetrics,SM_CXSCREEN
mov @bi.bmiHeader.biWidth,eax
invoke GetSystemMetrics,SM_CYSCREEN
mov @bi.bmiHeader.biHeight,eax
mov @bi.bmiHeader.biPlanes,1
mov @bi.bmiHeader.biBitCount,24
invoke GetDC,NULL
mov @hDc,eax

本文是关于使用Win32汇编进行屏幕截图并保存为BMP文件的学习笔记。作者分析了代码,指出在高DPI环境下获取屏幕分辨率的方法可能不准确,并给出了改进方案。通过CreateDIBSection、SelectObject和BitBlt等函数,完成了从屏幕到内存缓冲区的数据转移。最后,作者计划通过调试工具进一步验证内存内容的正确性。
最低0.47元/天 解锁文章
1795

被折叠的 条评论
为什么被折叠?



