请教:有没有办法将内存中的二进制数据映射到一个虚拟文件 请教各路大侠:我知道可以将文件映射到内存。但相反,有没有办法可以将内存中的二进制数据映射到一个虚拟文件?即,将内存中的二进制数据,映射到一个虚拟文件。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你要求达到"使用原本读写文件的语句读写内存文件",恐怕比较难.不过如果仅是通过二进制来读写与定位,那完全可以自己处理指针,读写相关的文件块.貌似CopyMemory就可以了. 谢谢各位的回复,我的意思大家应该是误会了。说白了就是我想,有没办法在内存中打开文件数据而不用写出数据到真正的文件。例如:将内存中的字符串数据映射到一个不是真实存在的虚拟文件“abc.txt”,然后用记事本打开。而不用先写数据到TXT文件再打开。 又或者,将内存中的JPG数据映射到一个不是真实存在的虚拟文件“abc.JPG”,然后用ACDSee打开。而不用事先写数据到JPG文件再打开。 如果是这样,根本就是想写文件的时候写不就完了.如果是文本,你可以定义一个字符串变量然后打开文件将文件数据读入变量中然后可以关闭文件了这个时候你可以任意玩弄那个变量,呵呵到你什么时候想写数据的时候,你再用Output方式打开文件向里面写数据不就可以了.如果是图片,简单的方法是把图片通过LoadPicture放到一个Picture类型变量中或PictureBox的Picture属性中:如:Picture1.Picture=LoadPicture("C:\11.jpg")也可以:Dim Pic As Picture Set Pic=LoadPicture("C:\11.jpg")还可以用GDI或GDI+创建设备加载图片然后你编辑完后什么时候想保存就用GDI+技术转换保存不就可以了吗。如果图片不编辑,基本是不用保存的。 //看你的意思,是想实现一种系统范围内,全局的内存文件系统?是不是想实现某些文件的查看与编辑,却又需要保证这些文件不被人复制?同时又要求不改变用户习惯(即不更改相关文件的打开方式).如果是这样,貌似不那么容易.......我能想到的一个思路,就是使用API HOOK...先查到目标文件的打开方式,然后载入那个程序,接着HOOK其ReadFile/WriteFile函数....自己实现后指向到自己的一块内存.不过.....哎,反正看起来不那么容易..... 在StatusBar里面加入ProgressBar控件的宽度问题? vba中打印有空页怎样解决 关于图像撤消的问题 加密算法的对应解密算法? datagrid处出现91错误,对象变量未设置,忘各位高手帮忙解答一下啊! 大家好! 有一个VB打包的问题一直困扰着我,我想这个问题应该难不倒各位大蛱吧!!!请帮帮我~~ 如何截获网卡的所有消息! 虽然没有找到我提的那个软件,但是seamany(seamany)我还是十分感谢你的帮助。(请进加分) VB高手中有没有VFOXPRO高手? 如何最快的截取屏幕? 问下QQ如何拒绝手机消息
说白了就是我想,有没办法在内存中打开文件数据而不用写出数据到真正的文件。例如:将内存中的字符串数据映射到一个不是真实存在的虚拟文件“abc.txt”,然后用记事本打开。而不用先写数据到TXT文件再打开。
然后打开文件将文件数据读入变量中
然后可以关闭文件了
这个时候你可以任意玩弄那个变量,呵呵
到你什么时候想写数据的时候,你再用Output方式
打开文件向里面写数据不就可以了.如果是图片,简单的方法是把图片通过LoadPicture
放到一个Picture类型变量中或PictureBox的
Picture属性中:
如:Picture1.Picture=LoadPicture("C:\11.jpg")
也可以:Dim Pic As Picture
Set Pic=LoadPicture("C:\11.jpg")还可以用GDI或GDI+创建设备加载图片然后你编辑完后什么时候想保存就用GDI+技术转换保存
不就可以了吗。如果图片不编辑,基本是不用保存的。
看你的意思,是想实现一种系统范围内,全局的内存文件系统?是不是想实现某些文件的查看与编辑,却又需要保证这些文件不被人复制?同时又要求不改变用户习惯(即不更改相关文件的打开方式).如果是这样,貌似不那么容易.......我能想到的一个思路,就是使用API HOOK...先查到目标文件的打开方式,然后载入那个程序,接着HOOK其ReadFile/WriteFile函数....自己实现后指向到自己的一块内存.不过.....哎,反正看起来不那么容易.....