中科因仑“3+1”工程特种兵精英论坛

标题: WinCE中的文件系统文件 [打印本页]

作者: leixiaofeng    时间: 2015-3-22 20:28
标题: WinCE中的文件系统文件
文件系统文件(.dat)定义了在目标设备初始化时设置的文件和文件夹的位置,当目标设备冷启动时,Filesys.exe将会使用这些文件系统文件在内存中来创建文件夹,链接和文件等。
       通过修改Project.dat文件中文件夹和文件位置的定义,你可以定义任何除了Windows文件夹以外的根文件夹,另外,你还能够从ROM中的Windows文件夹复制或链接文件。这些文件和链接通过.dat文件被创建在RAM文件系统中对象存储区域里。
       下面的代码是Project.dat文件中典型的用法:
root:-Directory("My Documents")
root:-Directory("Program Files")
Directory("/Program Files"):-Directory("My Projects")
Directory("/Program Files"):-Directory("Accessories")
Directory("/Program Files"):-Directory("Communication")
Directory("/Program Files/My Projects"):-File("My Project Program","/Windows/Myproj.exe")
root:-File("/control.lnk","/Windows/control.lnk")
其中:
       root:段定义了操作系统的根文件夹,它必须位于一个文件入口的开头以用于创建任何子文件夹。
      两个文件夹——My Documents和Program Files位于根文件夹下,另外三个子文件夹——My Projects,Accessories和Communication位于Program Files文件夹下。
     -File参数从ROM中的Windows文件夹中复制Myproj.exe文件放到My Projects文件夹内作为My Project Program文件的名字。
      当修改.dat文件的时候,你可以随意的使用IF和ENDIF条件选择块以及NOT(!)操作符。在一行的开头利用分号(;)作为注释。
      下面的代码演示了在Program Files文件夹下修改了子文件夹。
IF IMGINCLUDEAPPS
Directory("/Program Files"):-Directory("My Projects")
ENDIF
IF IMGNOACC !
Directory("/Program Files"):-Directory("Accessories")
ENDIF
Directory("/Program Files"):-Directory("Communication")
       在这个例子中,如果在运行Makeimg.exe之前用户自定义的环境变量IMGINCLUDEAPPS被设置,那么My Projects文件夹将被包含到目标设备上。如果IMGNOACC变量没被设置,Accessories文件夹将被包含,Communication文件夹被不依赖于任何环境变量的设置而被包含到目标设备上。它们会自动的出现在Windows下。
       在设备启动的时候,操作系统分析.dat文件中的这些信息,然后在正确的位置创建文件夹,复制文件。处理的结果被存储在RAM中,在.dat文件中列出的项目是被复制而不是被移动。
      快捷方式(.lnk)文件占了.dat文件中的大部分,因为.lnk文件很小并且没有符号链接。
      想使文件位于Windows文件夹之外,.dat文件是唯一的方式。





欢迎光临 中科因仑“3+1”工程特种兵精英论坛 (http://bbs.enlern.com/) Powered by Discuz! X3.4