我从配置文件中的字符串载入到内存中的一个 txt 文件,不想释放到临时文件再执行
如何让这个文件用记事本打开?(当然,我说的txt可能是一个例子.也可能是媒体文件,需要用播放器直接打开.)

解决方案 »

  1.   

    你可以在内存中构建一个PE,然后自己写一个PE加载器来加载它,但是这是比较复杂的。其他类型的文件,看似简单,实则很难。你就是想在内存中构建一个TXT,然后用Notepad打开它,也相当难做到。
      

  2.   

    当运行一个程序的时候,系统一定会以内存映射的方式将他加载到内存所谓打开文件,通常来说也是将其加载到内存中然后操作而你说的打开是要达到鼠标双击去执行程序的效果,而其实质上是系统某个进程(好像是explorer)调用了相关的程序(比如记事本,暴风影音)传递参数将文件打开,而参数就是要打开的文件路径,此时的文件在你的内存中,显然你要的效果无法简单实现
      

  3.   

    另一思路: 在内存中建个虚拟磁盘,在虚拟盘中建.txt文件,媒体文件... ,ShellExecute  打开
      

  4.   

    Win2003上如果装了Virtual Server 2005,有IVMVirtualServer的CreateDynamicVirtualHardDisk方法可以创建一块虚拟内存磁盘
    HRESULT CreateDynamicVirtualHardDisk(
      [in]                 BSTR imagePath,
      [in]                 long size,
      [out]                IVMTask** diskTask
    );
      

  5.   

    如果你想学习RamDisk,将内存虚拟为磁盘,那么你需要使用驱动来实现。
    源代码我有
      

  6.   

    用命名管道。 给你一个播放内存FLASH的思路。
    http://blog.csdn.net/whoo/archive/2005/01/09/246153.aspx
      

  7.   

    结果,还是不行的.......只能通过 readfile writefile 读入写入 交换信息, 但无法进行执行