关于内存文件的访问

Smile_Tiger 2009-08-14 11:24:54
可不可以在windows操作系统下创建一种内存文件,其他进程的正常i\o函数可以访问它。

举个实际的例子
比如我实现一个程序,创建了一内存文本文件,然后我再调用notepad程序,带参数方式访问该文件

问这有可能么?
...全文
241 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
pady_pady 2009-08-14
  • 打赏
  • 举报
回复
不可能
Smile_Tiger 2009-08-14
  • 打赏
  • 举报
回复
对文件加密的话,那个第三方程序该怎么访问它?
路人乙2019 2009-08-14
  • 打赏
  • 举报
回复
这个不太可能,除非两个都是你自已写的,那么就可以用共享内存或内存映射文件.
jason176374 2009-08-14
  • 打赏
  • 举报
回复
那还不如对文件加密呢。
再提供一个工具专门查看文件。
Smile_Tiger 2009-08-14
  • 打赏
  • 举报
回复
我主要的目的是某个项目需要产生一些临时文件,然后交由一第三方程序去处理。但是我希望这些临时文件不被别人所看到,全内存操作。
jason176374 2009-08-14
  • 打赏
  • 举报
回复
抛开实用性不说,不用虚拟机那么复杂,用文件过滤驱动也可以实现。
当发现是NOTEPAD在打开文件的时候,不从磁盘读取,直接读你的共享内存,然后返回给上层调用。

纯技术讨论,没有一点实用价值。
Smile_Tiger 2009-08-14
  • 打赏
  • 举报
回复
模拟一个虚拟机有没有可能实现这一点?
feilinhe 2009-08-14
  • 打赏
  • 举报
回复
notepad访问你的内存文件?不行吧
pady_pady 2009-08-14
  • 打赏
  • 举报
回复
你的想法有问题,CreateFileMapping

已经可以直接访问内存的东东了,你还用notapad访问它有什么用,实际上,被映射的文件,可以用指针访问它的任何内容了,可以当内存来处理了
jason176374 2009-08-14
  • 打赏
  • 举报
回复
让NOTEPAD访问你的内存映射文件?
skybblue 2009-08-14
  • 打赏
  • 举报
回复
没仔细看,要想让notepad等其它程序也能访问,好象不行,因为这些程序不支持,如果希望也支持的话,也许通过驱动可以实现.
skybblue 2009-08-14
  • 打赏
  • 举报
回复
内存共享映射文件啊,CreateFileMapping
GMingZ 2009-08-14
  • 打赏
  • 举报
回复
我刚试了,绝对可行。
要是你不知道怎么将他加到剪贴板,可以再问我
GMingZ 2009-08-14
  • 打赏
  • 举报
回复
给个我的思路。
你把内存映射文件的内容复制一份存到剪贴板,打开记事本的时候,ctrl + v 直接粘贴就可以了,呵呵。
这个过程代码很简单,几行就搞定。
MoXiaoRab 2009-08-14
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 smile_tiger 的回复:]
我主要的目的是某个项目需要产生一些临时文件,然后交由一第三方程序去处理。但是我希望这些临时文件不被别人所看到,全内存操作。
[/Quote]
很简单,Hook ZwQueryDirectoryFile,隐藏你的那些文件就好了
jingzhongrong 2009-08-14
  • 打赏
  • 举报
回复
挂钩常用的IO函数,将操作你内存文件的操作重定向到内存中。
das_jack 2009-08-14
  • 打赏
  • 举报
回复
创建mmf 操作文件结束后 CreateProcess(0,"notepad.exe path",...)
skybblue 2009-08-14
  • 打赏
  • 举报
回复
用管道技术不知道能不能实现你的功能,你可以到网上查查

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧