TC官方合作论坛

 找回密码
 立即注册
查看: 717|回复: 1

read4byte,句柄设置-1,读取本进程地址。

[复制链接]
发表于 2023-8-23 21:50:58 来自手机 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 剑仙十号 于 2023-9-8 07:15 编辑

read4byte,句柄设置-1,读取本进程地址read=read4byte(handle,#4FC000)
   
获取bmp图片宽高,纯源码。就是读bytes。
bmp加载到内存,申请内存,复制到内存,看偏移然后读就行了。
bmp,jpg,png…………还有其它格式,都能用得到。
转的:
http://52tc.info/thread-44864-1-1.html
我是大自然的搬运工。
4.0源码,改成7.0代码
var path=系统获取进程路径()
var name="tc.bmp"
var hbmp=dllcall("user32.dll","int","LoadImageA","int",0,"char *",path&name,"int",0,"int",0,"int",0,"int",#10+#2000) //加载到内存.
    var size=dllcall("gdi32.dll","int","GetObjectA","int",hbmp,"int",0,"int",null) //创建对象,获取size大小.
var lpbuff=dllcall("Kernel32.dll","int","GlobalAlloc","int",0,"int",size) //申请堆内存,返回值是缓冲区.地址
    traceprint(dllcall("gdi32.dll","int","GetObjectA","int",hbmp,"int",size,"int",lpbuff))//复制到内存缓冲区.地址 dllcall("gdi32.dll","int","DeleteObject","int",hbmp) //删除对象
   
    var width=read4byte(-1,lpbuff+4)
    var height=read4byte(-1,lpbuff+8)
    messagebox(width&" , "&height,"图片宽*高")
    dllcall("Kernel32.dll","int","GlobalFree","int",lpbuff) //记得释放缓冲区.
回复

使用道具 举报

发表于 2023-8-26 01:10:18 | 显示全部楼层
看看!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-4-28 22:14 , Processed in 0.038361 second(s), 22 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表