var bbb:pointer; bbb := VirtualAllocEx(h, nil, 10000, MEM_COMMIT, PAGE_EXECUTE_READWRITE); writeProcessMemory(h, Pointer(base1), @bbb, sizeof(bbb), tt);//这句可以 writeProcessMemory(h, Pointer(base2), pointer(integer(bbb)+300), sizeof(bbb), tt);//这句出错在哪里?为什么不行?我要将bbb+300的地址写入
解决方案 »
- 请教MapObject2 Tmap.DrawShape方法的使用
- 高分求助“怎样在一个可执行程序中,显示多个任务栏”
- Access的表统计?
- 如何在别的机上新建文件夹?
- 如何读取存在SQL SERVER里的图形字段?
- 带checkbox的treeview如何处理选中的事件阿?
- 有没有一个控件可以既放文本又可以放图片?(不是窗体哦)
- 愿爱我的人和我爱的人和我爱过的人和爱过我的人平安快乐
- 在线等待:Windows启动时弹出“Exception EStackOverflow in moudle ...”的错误提示而无法运行Delphi的程序,why?
- Active Form 为什么如此慢??
- 奇怪?向sql的表添加记录后,导致数据库无法连接
- 如何在form1最大化时form2也最大化?高分送.
为什么第三个参数要用@bbb? bbb不已经是pointer了吗,再取地址就是指针存储的位置了
还有sizeof(bbb)这个怎么理解呢 对一个pointer变量用sizeof好象没什么意义吧
//比如得到bbb:=$0040000
writeProcessMemory(h, Pointer(base1), @bbb, sizeof(bbb), tt);//这句可以
//将$0040000写入到 base1
writeProcessMemory(h, Pointer(base2), pointer(integer(bbb)+300), sizeof(bbb), tt);
//将$0040000+300 写入到 base2第二句可以成功写入地址,第三句写入的地址不正确,为什么?