Wince编程--(文件管理、存储设备、重启)
本文主要介绍基于WINCE平台下eVC进行应用程序开发时会常常用到的一些功能函数,各个函数的各项参数的具体定义可以根据函数名称在eVC的帮助文件直接获取,文中就不再一一详细说明。
一、文件和目录的管理
WINCE支持了很多有用的函数来进行文件和目录的管理。常用的有以下这些函数:
1) 复制文件:
BOOL CopyFile( LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName, BOOL bFaillfExists );
2) 删除文件:
BOOL DeletFile( LPCTSTR lpFileName );
3)创建目录:
BOOL CreateDirectory( LPCTSTR lpPathName,LPSECURITY_ATTRIBUTES lpSecurityAttributes);
4) 删除目录:
BOOL RemoveDirectory( LPCTSTR lpPathName );
二、获取存储设备的大小信息
在WINCE下已经没有了驱动器名的概念,文件存储设备都是在WINCE的根目录下中以目录的形式出现,可以调用以下函数来获取存储设备的总的大小和空闲空间的信息:
BOOL GetDiskFreeSpaceEx( LPCWSTR lpDirectoryName,
PULARGE_INTEGER lpFreeBytesAvailableToCaller,
PULARGE_INTEGER lpTotalNumberOfBytes,
PULARGE_INTEGER lpTotalNumberOfFreeBytes );
三、重启系统函数
调用函数KernelIoControl( … )可以实现WINCE系统重新启动, 定义的代码如下:
#include <winioctl.h>
#define IOCTL_HAL_REBOOT CTL_CODE(FILE_DEVICE_HAL, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
extern 'C' __declspec(dllimport) BOOL KernelIoControl( DWORD dwIoControlCode,
LPVOID lpInBuf,
DWORD nInBufSize,
LPVOID lpOutBuf,
DWORD nOutBufSize,
LPDWORD Returned);
程序需要重启时,只需调用该函数即可,如:
KernelIoControl( IOCTL_HAL_REBOOT, NULL, 0, NULL, 0, NULL );