系统目录
Windows CE使用一组系统目录存储公共信息。系统目录在Pocket PC设备上分别对应不同的物理文件夹,并提供两个用途。第一个用途是使Pocket PC应用程序可以定位重要文件夹,比如Windows文件夹。第二个用途是用来处理地方化问题。在基于不同语言的Pocket PC系统环境里,文件夹的名称有所不同。在表11-3列出了Pocket PC 2003 SE的系统文件夹。
表11-3:Pocket PC 2003 SE的系统文件夹
文件夹 | 位置 | 用途 |
Personal | /My Documents | 存储用户数据。 |
Programs | /Windows/”开始”菜单/程序 | 包含Pocket PC应用程序。 |
Start Menu | /Windows/”开始”菜单 | 包含数据项的快捷方式出现在Strat菜单。 |
Start Up | /Windows/启动 | 包含在Pocket PC启动时自动启动的应用程序。 |
Windows | /Windows | 包含Pocket PC的OS文件。 |
Favorites | /Windows/收藏夹 | 存储供PIE访问的URL快捷方式。 |
在System.IO命名空间里,没有提供任何关于系统文件夹的信息。为了访问系统文件夹的详细信息,需要调用名为SHGetSpecialFolderPath的API函数。SHGetSpecialFolderPath返回由nFolder参数指定的系统文件夹的路径,该函数声明的语法是:
SHGetSpecialFolderPath(HWND hwndOwner, LPTSTR lpszPath, int nFolder, BOOL fCreate) |
表11-4列出了SHGetSpecialFolderPath函数的参数。
表11-4:SHGetSpecialFolderPath参数
参数 | 描述 |
hwndOwner | 指定窗口句柄。 |
lpszPath | 标识接收系统文件夹路径的缓冲器地址。 |
nFolder | 指定系统文件夹。 |
fCreate | 标识如果文件夹已经不存在,则创建。 |
SHGetSpecialFolderPath函数所需要的nFolder参数,实际上是一个32位的整数CSIDL值。表11-5列出了nFolder参数可选的数值。
表11-5:系统文件夹的CSIDL值
号码 | 文件夹 |
0 | Desktop—/My Documents |
2 | Programs—/Windows/”开始”菜单/程序 |
5 | Personal—/My Documents |
6 | Favorites—/Windows/收藏夹 |
7 | StartUp—/Windows/启动 |
11 | StartMenu—/Windows/”开始”菜单 |
14 | Fonts—/Windows/Fonts |
在表11-5中,Personal、StartMenu、Programs和StartUp是最常使用的。Personal文件夹用于存储用户数据。在Pocket PC上对应/My Documents。
Programs文件夹指定储存Pocket PC应用程序的位置。在Pocket PC上对应/Windows/“开始”菜单/程序。通过“开始”菜单的“程序”菜单项访问该文件夹下的Pocket PC应用程序,如图11-2所示。
图11-2:Pocket PC的“开始”菜单下的“程序”菜单项
图11-3显示Pocket PC程序文件夹的内容。
图11-3:Pocket PC 程序文件夹
能够在程序文件夹里创建子文件夹。子文件夹可以从逻辑上分组管理某个公司的所有Pocket PC应用程序。
StartUp文件夹标识用于存储在Pocket PC启动时自动启动的应用程序。在Pocket PC上对应/Windows/Startup文件夹。
StartMenu文件夹指定在“开始”菜单里显示的应用程序菜单项。在Pocket PC 上对应/Windows/“开始”菜单。可以在该文件夹里放置应用程序快捷方式或者应用程序。
图11-4展示“开始”菜单文件夹的内容,其相应的“开始”菜单如图11-2所示。
图11-4:“开始”菜单文件夹的内容