马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我用R大的代码获取本身的大小
hFile=window.getmyhwnd()
hHeap=dllcall("Kernel32.dll","int","GetProcessHeap")//此行以及以下一行为:分配内存,因为GetFileSize第二个参数要传整型指针,所以我们自己分配一块4字节的内存区域,首地址当作指针给API.
lpFileSizeHigh=dllcall("Kernel32.dll","int","HeapAlloc","int",hHeap,"int",0,"int",4)
FileSize=dllcall("kernel32.dll","int","GetFileSize","int",hFile,"int",lpFileSizeHigh)//得到大小.返回大小低字节,第二个参数为指针,指向存放文件大小高字节的内存区域.
FileSizeHigh=进程.读4byte(-1,lpFileSizeHigh)//这里也可以换成ReadProcessMemory,因为需要的功能比较简单就用自带的API吧.
dllcall("Kernel32.dll","int","HeapFree","int",hHeap,"int",0,"int",lpFileSizeHigh)//释放分配的内存区域.
FileSize+=FileSizeHigh*256//"组合"成真正的文件大小.
help.messagebox(FileSize)
这里显示是4M多,但是在windows看文件的大小才3M多,为什么?小白一个,请教各位大神
|