Windows API——文件处理函数

CloseHandle
  功能:关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等
  应尽可能的使用close,因为它支持vb的差错控制。注意这个函数使用的文件句柄与vb的文件编号是完全不同的。
  返回值:非零表示成功,零表示失败。会设置GetLastError
  注意:除非对内核对象的所有引用都已关闭,否则该对象不会实际删除

CompareFileTime
  功能:根据FILETIME结构的信息,对比两个文件的时间
  返回值:两个时间相等,就返回零;如lpFileTime1小于lpFileTime2,返回-1;如lpFileTime2小于lpFileTime1,返回1

CopyFile
  功能:复制文件
  返回值:非零表示成功,零表示失败。会设置GetLastError

CreateDirectory
  功能:创建一个新目录
  返回值:非零表示成功,零表示失败。会设置GetLastError

CreateFile
  功能:打开和创建文件、管道、邮槽、通信服务、设备以及控制台
  返回值:执行成功,则返回文件句柄。INVALID_HANDLE_VALUE表示出错,会设置GetLastError。即使函数成功,但若文件存在,且指定了CREATE_ALWAYS 或 OPEN_ALWAYS,GetLastError也会设为ERROR_ALREADY_EXISTS

CreateFileMapping
  功能:创建一个新的文件映射对象
  返回值:新建文件映射对象的句柄;零意味着出错。会设置GetLastError。即使函数成功,但倘若返回的句柄属于一个现成的文件映射对象,那么GetLastError也会设置成ERROR_ALREADY_EXISTS。在这种情况下,文件映射的长度就是现有对象的长度,而不是这个函数指定的尺寸

DeleteFile
  功能:删除指定文件
  返回值:非零表示成功,零表示失败。会设置GetLastError

DeviceIoControl
  功能:对设备执行指定的操作
  返回值:非零表示成功,零表示失败。会设置GetLastError

DosDateTimeToFileTime
  功能:将DOS日期和时间值转换成一个 win32 FILETIME 值
  返回值:非零表示成功,零表示失败。会设置GetLastError

FileTimeToDosDateTime
  功能:将一个 win32 FILETIME 值转换成DOS日期和时间值
  返回值:非零表示成功,零表示失败。会设置GetLastError

FileTimeToLocalFileTime
  功能:将一个FILETIME结构转换成本地时间
  返回值:非零表示成功,零表示失败。会设置GetLastError

FileTimeToSystemTime
  功能:根据一个FILETIME结构的内容,装载一个SYSTEMTIME结构
  返回值:非零表示成功,零表示失败。会设置GetLastError

FindClose
  功能:关闭由FindFirstFile函数创建的一个搜索句柄
  返回值:非零表示成功,零表示失败。会设置GetLastError

FindFirstFile
  功能:根据文件名查找文件
  返回值:执行成功,返回一个搜索句柄。如果出错,返回一个INVALID_HANDLE_VALUE常数,一旦不再需要,应该用FindClose函数关闭这个句柄

FindNextFile
  功能:根据调用FindFirstFile函数时指定的一个文件名查找下一个文件
  返回值:非零表示成功,零表示失败。会设置GetLastError

FlushFileBuffers
  功能:针对指定的文件句柄,刷新内部文件缓冲区
  返回值:非零表示成功,零表示失败。会设置GetLastError

FlushViewOfFile

  功能:将写入文件映射缓冲区的所有数据都刷新到磁盘
  返回值:非零表示成功,零表示失败。会设置GetLastError

GetBinaryType
  功能是:判断文件是否可以执行
  返回值:非零表示成功,零表示失败

GetCompressedFileSize
  功能:判断一个压缩文件在磁盘上实际占据的字节数
  返回值:返回文件长度。&HFFFFFFFF表示出错。注意如lpFileSizeHigh不为NULL,且结果为&HFFFFFFFF,那么必须调用GetLastError,判断是否实际发生了一个错误,因为这是一个有效的结果

GetCurrentDirectory
  功能:在一个缓冲区中装载当前目录
  返回值:装载到lpBuffer的字节数。如nBufferLength的长度不够,不足以容纳目录,则返回值是必要的缓冲区长度(要求至少这个长度),其中包括空中止字符。零表示失败。会设置GetLastError

GetDiskFreeSpace
  功能:获取与一个磁盘的组织有关的信息,以及了解剩余空间的容量
  返回值:非零表示成功,零表示失败。会设置GetLastError

GetDiskFreeSpaceEx
  功能:获取与一个磁盘的组织以及剩余空间容量有关的信息
  返回值:非零表示成功,零表示失败。会设置GetLastError

GetDriveType
  功能:判断一个磁盘驱动器的类型
  返回值:驱动器不能识别,则返回零。如指定的目录不存在,则返回1。如执行成功,则用下述任何一个常数指定驱动器类型:DRIVE_REMOVABLE, DRIVE_FIXED, DRIVE_REMOTE, DRIVE_CDROM 或 DRIVE_RAMDISK

GetExpandedName
  功能:取得一个压缩文件的全名
  返回值:1表示成功,LZERROR_BADVALUE 表示失败

GetFileAttributes
  功能:判断指定文件的属性
  返回值:-1表示出错。如返回包含了标志的一个Long值,则指定文件的属性。其中的标志对应于带有FILE_ATTRIBUTE_???前缀的常数。具体参考BY_HANDLE_FILE_INFORMATION结构的File Attribute Types table表格

GetFileInformationByHandle
  功能:这个函数提供了获取文件信息的一种机制:在一个BY_HANDLE_FILE_INFORMATION结构中装载与文件有关的信息
  返回值:非零表示成功,零表示失败。会设置GetLastError

GetFileSize
  功能:判断文件长度
  返回值:返回文件长度。&HFFFFFFFF表示出错。注意如lpFileSizeHigh不为NULL,且结果为&HFFFFFFFF,那么必须调用GetLastError,判断是否实际发生了一个错误,因为这是一个有效的结果

GetFileTime
  功能:取得指定文件的时间信息
  返回值:非零表示成功,零表示失败。会设置GetLastError

GetFileType
  功能:在给出文件句柄的前提下,判断文件类型
  返回值:
    FILE_TYPE_UNKNOWN 文件类型未知
    FILE_TYPE_DISK 属于磁盘文件
    FILE_TYPE_CHAR 文件是一个控制台或打印机
    FILE_TYPE_PIPE 文件是个管道

GetFileVersionInfo
  功能:从支持版本标记的一个模块里获取文件版本信息
  返回值:非零表示成功,零表示失败。会设置GetLastError

GetFileVersionInfoSize
  功能:针对包含了版本资源的一个文件,判断容纳文件版本信息需要一个多大的缓冲区
  返回值:容纳文件的版本资源所需的缓冲区长度。如文件不包含版本信息,则返回一个0值。会设置GetLastError

GetFullPathName
  功能:获取指定文件的完整路径名
  返回值:装载到lpBuffer中的字符数量(排除空中止字符)。如缓冲区的长度不足以容下完整的路径,则返回值就是要求的缓冲区大小。零表示失败。会设置GetLastError

GetLogicalDrives
  功能:判断系统中存在哪些逻辑驱动器字母
  返回值:这个结构中的二进制位标志着存在哪些驱动器。其中,位0设为1表示驱动器A:存在于系统中;位1设为1表示存在B:驱动器;以次类推

GetLogicalDriveStrings
  功能:获取一个字串,其中包含了当前所有逻辑驱动器的根驱动器路径
  返回值:装载到lpBuffer的字符数量(排除空中止字符)。如缓冲区的长度不够,不能容下路径,则返回值就变成要求的缓冲区大小。零表示失败。会设置GetLastError

GetOverlappedResult
  功能:判断一个重叠操作当前的状态
  返回值:非零表示成功,零表示失败。会设置GetLastError。如bWait为FALSE,而且异步操作仍在执行,则函数回返回零,而GetLastError会设置成ERROR_IO_INCOMPLETE

GetPrivateProfileInt
  功能:为初始化文件(.ini文件)中指定的条目获取一个整数值
  返回值:找到的条目的值;如指定的条目未找到,就返回默认值。如找到的数字不是一个合法的整数,函数会返回其中合法的一部分。如,对于“xyz=55zz”这个条目,函数返回55。这个函数也能理解采用标准C语言格式的十六进制数字:用0x作为一个十六进制数字的前缀——所以0x55ab等价于vb的&H55AB

GetPrivateProfileSection
  功能:获取指定小节(在.ini文件中)所有项名和值的一个列表
  返回值:装载到lpReturnedString缓冲区的字符数量。如缓冲区的容量不够大,不能容下所有信息,就返回nSize-2

GetPrivateProfileString
  功能:为初始化文件中指定的条目取得字串
  返回值:复制到lpReturnedString缓冲区的字节数量,其中不包括那些NULL中止字符。如lpReturnedString缓冲区不够大,不能容下全部信息,就返回nSize-1(若lpApplicationName或lpKeyName为NULL,则返回nSize-2)

GetProfileInt
  功能:取得win.ini初始化文件中指定条目的一个整数值
  返回值:找到条目的值;如指定的条目未找到,就返回默认值。如找到的数字不是一个合法的整数,函数就会返回其中合法的一部分。例如,对于“xyz=55zz”这个条目,函数会返回55。这个函数也能理解采用标准C语言格式的十六进制数字:用0x作为一个十六进制数字的前缀——所以0x55ab等价于vb的&H55AB

GetProfileSection
  功能:获取指定小节(在win.ini文件中)所有项名和值的一个列表
  返回值:装载到lpReturnedString缓冲区的字符数量。如缓冲区的长度不足以容下所有信息,则返回nSize-2

GetProfileString
  功能:为win.ini初始化文件中指定的条目取得字串
  返回值:复制到lpReturnedString缓冲区的字节数量,其中不包括那些NULL中止字符。如lpReturnedString缓冲区不够大,不能容下全部信息,就返回nSize-1(若lpAppName或lpKeyName为NULL,则返回nSize-2)

GetShortPathName
  功能:获取指定文件的短路径名
  返回值:装载到lpszShortPath缓冲区的字符数量。如lpszShortPath的长度不足,不能容下文件名,就返回需要的缓冲区长度

GetSystemDirectory
  功能:取得Windows系统目录(即System目录)的完整路径名
  返回值:装载到lpBuffer缓冲区的字符数量。如lpBuffer不够大,不能容下文件名,则返回要求的缓冲区长度

GetTempFileName
  功能:这个函数包含了一个临时文件的名字,它可由应用程序使用
  返回值:最终用于生成文件名的wUnique数字的值。如wUnique参数不为零,这就是参数的值。零表示失败。会设置GetLastError

GetTempPath
  功能:获取为临时文件指定的路径
  返回值:装载到lpBuffer的字符数。如当前缓冲区的长度不够,不能容下整个路径,则返回lpBuffer需要的长度。零表示失败。会设置GetLastError

GetVolumeInformation
  功能:获取与一个磁盘卷有关的信息
  返回值:非零表示成功,零表示失败。会设置GetLastError

GetWindowsDirectory
  功能:获取Windows目录的完整路径名
  返回值:复制到lpBuffer的一个字串的长度。如lpBuffer不够大,不能容下整个字串,就会返回lpBuffer要求的长度。零表示失败。会设置GetLastError

hread
  功能:将文件中的数据读入内存缓冲区
  返回值:返回实际读入的字节数。HFILE_ERROR意味着函数执行出错。如这个数字小于wBytes,则表明早已抵达了文件的末尾。会设置GetLastError
  注意:在win16中用于读取大于64KB的数据块。但win32的文件I/O函数并不受这个64KB的限制

hwrite
  功能:将数据从内存缓冲区写入一个文件
  返回值:写入的字节数。HFILE_ERROR意味着函数执行出错。如这个数字小于wBytes,则表明早已抵达了文件的末尾。会设置GetLastError
  注意:在win16中用于写入大于64KB的数据块。但win32的文件I/O函数并不受这个64KB的限制

lclose
  功能:关闭指定的文件
  返回值:非零表示成功,零表示失败。会设置GetLastError

lcreat
  功能:创建一个文件
  返回值:执行成功,返回打开文件的句柄。如果出错,则返回HFILE_ERROR.
  注意:该函数会打开已由其他应用程序打开的文件,所以使用它时要小心。win32的CreateFile函数已取代了这个函数。

llseek
  功能:设置文件中进行读写的当前位置
  返回值:返回一个新位置,设置成从文件起始处算起的一个偏移量。HFILE_ERROR表示函数执行出错。会设置GetLastError
  注意:参考SetFilePointer函数,认识能对较大文件进行处理的一个近似函数

LockFile
  功能:锁定文件的某一部分,使其不与其他应用程序共享
  返回值:非零表示成功,零表示失败。会设置GetLastError
  注意:锁定的区域不能进行重叠操作。由不同的操作系统决定,可能要求先运行share.exe才能保证该函数正常工作锁定的区域不能进行重叠操作。由不同的操作系统决定,可能要求先运行share.exe才能保证该函数正常工作

LockFileEx
  功能:与LockFile相似,只是它提供了更多的功能
  返回值:非零表示成功,零表示失败。会设置GetLastError
  注意:锁定区域不可重叠操作(即多个进程同时操作)

lopen
  功能:以二进制模式打开指定的文件
  返回值:执行成功,返回打开文件的句柄。HFILE_ERROR表示出错。会设置GetLastError
  注意:CreateFile函数在win32下提供了更多的功能

lread
  功能:将文件中的数据读入内存缓冲区
  返回值:返回实际读入的字节数。HFILE_ERROR意味着函数执行出错。如这个数字小于wBytes,则表明早已抵达了文件的末尾。会设置GetLastError

lwrite
  功能:将数据从内存缓冲区写入一个文件
  返回值:写入的字节数。HFILE_ERROR意味着函数执行出错。如这个数字小于wBytes,则表明早已抵达了文件的末尾。会设置GetLastError

LZClose
  功能:关闭由LZOpenFile 或 LZInit函数打开的一个文件
  返回值:

LZCopy
  功能:复制一个文件
  返回值:执行成功,返回目标文件的大小,以字节为单位。如执行出错,会返回小于零的一个常数,如下:
    LZERROR_BADINHANDLE 源文件无效
    LZERROR_BADOUTHANDLE 目标文件无效
    LZERROR_GLOBALLOC 内部解压缓冲区的内存容量不足
    LZERROR_GLOBLOCK 内部解压缓冲区的句柄无效
    LZERROR_READ 无效的源文件格式
    LZERROR_UNKNOWNALG 解压DLL不能识别源文件采用的压缩算法
    LZERROR_WRITE 在磁盘上写入输出文件时出错,通常是由于磁盘空间不足造成的

LZInit
  功能:这个函数用于初始化内部缓冲区
  返回值:由lz32.dll库使用的、那个文件的一个特殊句柄。这个文件句柄兼容于LZCopy, CopyLZFiles, LZRead 和 LZSeek函数。如果出错,该函数会返回下表列出的出错代码之一。注意完成后一定用LZClose关闭这个句柄
  注意:最多只能同时打开16个压缩文件句柄

LZOpenFile
  功能:该函数能执行大量不同的文件处理,而且兼容于压缩文件
  返回值:函数执行成功,且样式(style)参数不为OF_READ,就返回常规的文件句柄,具体请参考OpenFile函数的说明。如样式参数为OF_READ,而且文件是压缩的,就会返回一个特殊的文件句柄,以便由LZCopy, LZRead 和 LZSeek函数使用。如出错,返回如下表所示的一个常数:
  LZERROR_BADINHANDLE 源文件无效
  LZERROR_BADOUTHANDLE 目标文件无效
  LZERROR_GLOBALLOC 内部解压缓冲区的内存容量不足
  LZERROR_GLOBLOCK 内部解压缓冲区的句柄无效
  LZERROR_READ 无效的源文件格式
  LZERROR_UNKNOWNALG 解压DLL不能识别源文件采用的压缩算法
  LZERROR_WRITE 在磁盘上写入输出文件时出错,通常是由于磁盘空间不足造成的
  注意:参考OpenFile函数

LZRead
  功能:将数据从文件读入内存缓冲区
  返回值:实际读入的字节数。如这个数字小于cbread,表明早已抵达了文件的末尾。如出错,返回下表列出的常数之一:
  LZERROR_BADINHANDLE 源文件无效
  LZERROR_BADOUTHANDLE 目标文件无效
  LZERROR_GLOBALLOC 内部解压缓冲区的内存容量不足
  LZERROR_GLOBLOCK 内部解压缓冲区的句柄无效
  LZERROR_READ 无效的源文件格式
  LZERROR_UNKNOWNALG 解压DLL不能识别源文件采用的压缩算法
  LZERROR_WRITE 在磁盘上写入输出文件时出错,通常是由于磁盘空间不足造成的

LZSeek
  功能:设置一个文件中进行读写的当前位置
  返回值:返回一个新位置,采用从文件起始处计算的字节偏移量。如出错,返回下表列出的常数之一:
  LZERROR_BADINHANDLE 源文件无效
  LZERROR_BADOUTHANDLE 目标文件无效
  LZERROR_GLOBALLOC 内部解压缓冲区的内存容量不足
  LZERROR_GLOBLOCK 内部解压缓冲区的句柄无效
  LZERROR_READ 无效的源文件格式
  LZERROR_UNKNOWNALG 解压DLL不能识别源文件采用的压缩算法
  LZERROR_WRITE 在磁盘上写入输出文件时出错,通常是由于磁盘空间不足造成的

MapViewOfFile
  功能:将一个文件映射对象映射到当前应用程序的地址空间
  返回值:文件映射在内存中的起始地址。零表示出错。会设置GetLastError
  注意:dwFileOffsetLow和dwFileOffsetHigh必须反映一个偏移距离,它由系统的内存分配精度决定。例如,假设系统的内存精度是64KB(即最小分配单位是64KB),则这些值必须是64KB的整数倍。大多数应用程序都简单的用零从文件的起始处开始映射。lpBaseAddress也必须是内存分配精度的整数倍

MoveFile
  功能:移动文件
  返回值:非零表示成功,零表示失败。会设置GetLastError

OpenFile
  功能:这个函数能执行大量不同的文件操作
  返回值:执行成功,返回文件句柄。注意文件句柄可能是无效的;如果出错,函数会返回HFILE_ERROR;此时,由lpReOpenBuff指定的OFSTRUCT结构的nErrCode会设置成发生的错误。会设置GetLastError

OpenFileMapping
  功能:打开一个现成的文件映射对象
  返回值:指定文件映射对象的句柄。零表示出错。会设置GetLastError

QueryDosDevice
  功能:在Windows NT中,DOS设备名会映射成NT系统设备名。该函数可判断当前的设备映射情况
  返回值:零表示出错。如执行成功,返回保存到lpTargetPath的字符数。会设置GetLastError

ReadFile
  功能:从文件中读出数据
  返回值:非零表示成功,零表示失败。会设置GetLastError。如启动的是一次异步读操作,则函数会返回零值,并将ERROR_IO_PENDING设置成GetLastError的结果。如结果不是零值,但读入的字节数小于nNumberOfBytesToRead参数指定的值,表明早已抵达了文件的结尾

ReadFileEx
  功能:与ReadFile相似,只是它只能用于异步读操作,并包含了一个完整的回调
  返回值:非零表示成功,零表示失败。会设置GetLastError

RegCloseKey
  功能:关闭系统注册表中的一个项(或键)
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

RegConnectRegistry
  功能:访问远程系统的部分注册表
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

RegCreateKey
  功能:在指定的项下创建或打开一个项
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

RegCreateKeyEx
  功能:在指定项下创建新项的更复杂的方式。在Win32环境中建议使用这个函数
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

RegDeleteKey
  功能:删除现有项下方一个指定的子项
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

RegDeleteValue
  功能:删除指定项下方的一个值
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

RegEnumKey
  功能:枚举指定项的子项。在Win32环境中应使用RegEnumKeyEx
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

RegEnumKeyEx
  功能:枚举指定项下方的子项
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

RegEnumValue
  功能:枚举指定项的值
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

RegFlushKey
  功能:将对项和它的子项作出的改动实际写入磁盘
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
  注意:有些操作系统会将对注册表的修改延迟写入磁盘,以便保持系统的高性能。这个函数的作用就是确定将数据实际写入磁盘。但通常,应尽量避免使用这个函数,因为它可能严重影响一个应用程序的性能

RegGetKeySecurity
  功能:获取与一个注册表项有关的安全信息
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
  注意:适用于Windows NT平台

RegLoadKey
  功能:从以前用RegSaveKey函数创建的一个文件里装载注册表信息
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

RegNotifyChangeKeyValue
  功能:注册表项或它的任何一个子项发生变化时,用这个函数提供一种通知机制
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

RegOpenKey
  功能:打开一个现有的注册表项
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

RegOpenKeyEx
  功能:打开一个现有的项。在win32下推荐使用这个函数
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

RegQueryInfoKey
  功能:获取与一个项有关的信息
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码。如一个缓冲区的长度不够,不能容下返回的数据,则函数会返回ERROR_MORE_DATA

RegQueryValue
  功能:取得指定项或子项的默认(未命名)值
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

RegQueryValueEx
  功能:获取一个项的设置值
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

RegReplaceKey
  功能:用一个磁盘文件保存的信息替换注册表信息;并创建一个备份,在其中包含当前注册表信息
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

RegRestoreKey
  功能:从一个磁盘文件恢复注册表信息
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

RegSaveKey
  功能:将一个项以及它的所有子项都保存到一个磁盘文件
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

RegSetKeySecurity
  功能:设置指定项的安全特性
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

RegSetValue
  功能:设置指定项或子项的默认值
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

RegSetValueEx
  功能:设置指定项的值
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

RegUnLoadKey
  功能:卸载指定的项以及它的所有子项
  返回值:零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

RemoveDirectory
  功能:删除指定目录
  返回值:非零表示成功,零表示失败。会设置GetLastError

SearchPath

  功能:查找指定文件
  返回值:装载到lpBuffer缓冲区的字符数。如缓冲区长度不足,则返回缓冲区必要的长度。零表示失败。会设置GetLastError
  注意:参考GetFullPathName函数

SetCurrentDirectory

  功能:设置当前目录
  返回值:非零表示成功,零表示失败。会设置GetLastError

SetEndOfFile

  功能:针对一个打开的文件,将当前文件位置设为文件末尾
  返回值:非零表示成功,零表示失败。会设置GetLastError

SetFileAttributes

  功能:设置文件属性
  返回值:非零表示成功,零表示失败。会设置GetLastError

SetFilePointer

  功能:在一个文件中设置当前的读写位置
  返回值:返回一个新位置,它采用从文件起始处开始算起的一个字节偏移量。HFILE_ERROR意味着出错。会设置GetLastError

SetFileTime

  功能:设置文件的创建、访问及上次修改时间
  返回值:非零表示成功,零表示失败。会设置GetLastError

SetHandleCount

  功能:这个函数不必在win32下使用;即使使用,也不会有任何效果
  返回值:
  注意:这个函数不必在win32下使用;即使使用,也不会有任何效果

SetVolumeLabel

  功能:设置一个磁盘的卷标(Label)
  返回值:TRUE(非零)表示成功,否则返回零。会设置GetLastError

SystemTimeToFileTime

  功能:根据一个FILETIME结构的内容,载入一个SYSTEMTIME结构
  返回值:非零表示成功,零表示失败。会设置GetLastError

UnlockFile

  功能:解除对一个文件的锁定
  返回值:非零表示成功,零表示失败。会设置GetLastError
  注意:解锁的文件区域必须与以前锁定时设置的区域完全相符。文件关闭前,应用程序应确定已解除了对任何区域的锁定。参考LockFile了解进一步的情况

UnlockFileEx

  功能:解除对一个文件的锁定
  返回值:非零表示成功,零表示失败。会设置GetLastError
  注意:解锁的文件区域必须与以前锁定时设置的区域完全相符。文件关闭前,应用程序应确定已解除了对任何区域的锁定。参考  LockFileEx了解进一步的情况

UnmapViewOfFile

  功能:在当前应用程序的内存地址空间解除对一个文件映射对象的映射
  返回值:非零表示成功,零表示失败。会设置GetLastError

VerFindFile

  功能:用这个函数决定一个文件应安装到哪里
  返回值:
  VFF_CURNEDEST 指出文件现有版本不应在由szDestDir参数指定的目录中,那个目录是由函数建议安装新版本的地方
  VFF_FILEINUSE 指出现有文件当时正在使用,而且不要在此时删除
  VFF_BUFFTOOSMALL 指出szDestDir或szCurDir缓冲区的一个或两个都太小,不足以容下目录名

VerInstallFile

  功能:用这个函数安装一个文件。它利用由VerFindFile函数提供的信息决定将文件安装到哪里。这个函数首先会比较两个文件的版本标记。如源文件是最新和兼容的版本,则将源文件复制成目标目录的一个临时文件——如文件处于压缩状态,则同时将其解压。随后,将文件的现有版本删除掉,再对临时文件进行重名处理,使符合目标文件名
  返回值:返回一个整数,其中包含了VerInstallFile结果常数表里列出的一个或多个常数的组合

VerLanguageName

  功能:这个函数能根据16位语言代码获取一种语言的名称。利用版本资源中的语言代码,可以判断出一个文件编写时采用的语言格式。表格“win32支持的语言代码”对win32支持的各种语言代码进行了总结
  返回值:装载到szLang缓冲区的字符数量。如缓冲区的容量不够,不能容下完整的名称,则函数返回需要的缓冲区大小。零表示出错

VerQueryValue
  功能:这个函数用于从版本资源中获取信息。调用这个函数前,必须先用GetFileVersionInfo函数获取版本资源信息。这个函数会检查资源信息,并将需要的数据复制到一个缓冲区里
  返回值:TRUE(非零)表示成功,如请求的信息不存在,或pBlock不属于有效版本信息,那就返回一个零
  注意:如lplpBuffer参数为"\StringFileInfo\....",缓冲区里就会载入一个整数数组。每一对整数都代表一种语言和代码页,它们描绘了可用的字串信息。通过用下面这三个部分指定一个字串,
从而获得StringFileInfo字串数据:"\StringFileInfo\languagecodepage\stringname",其中languagecodepage(语言代码页)是采用字串形式的一个8字符十六进制数字。
如翻译表中的语言代码页条目是&H04090000,那么这个字串就应该是"04090000"。stringname(字串名)指定的是一个字串名。这个参数的一个例子如下:
"\StringFileInfo\04090000\CompanyName"

WriteFile
  功能:将数据写入一个文件
  返回值:TRUE(非零)表示成功,否则返回零。会设置GetLastError
  注意:并不是每种操作系统都支持在任何类型的设备上进行异步操作。windows 95不支持对磁盘文件的重叠读取操作

WriteFileEx
  功能:与WriteFile类似,只是它只能用于异步写操作,并包括了一个完整的回调
  返回值:非零表示成功,否则返回零。会设置GetLastError
  注意:并不是每种操作系统都支持在任何类型的设备上进行异步操作。windows 95不支持对磁盘文件的重叠读取操作

WritePrivateProfileSection
  功能:为一个初始化文件(.ini)中指定的小节设置所有项名和值
  返回值:非零表示成功,零表示失败。会设置GetLastError

WritePrivateProfileString
  功能:在初始化文件指定小节内设置一个字串
  返回值:非零表示成功,零表示失败。会设置GetLastError

WriteProfileSection
  功能:为Win.ini初始化文件中一个指定的小节设置所有项名和值
  返回值:非零表示成功,零表示失败。会设置GetLastError

WriteProfileString
  功能:在Win.ini初始化文件指定小节内设置一个字串
  返回值:非零表示成功,零表示失败。会设置GetLastError
  注意:对Win.ini文件的改动可能影响其他应用程序。如修改了正由其他应用程序使用的小节,一定要向所有窗口都发送一条WM_WININICHANGE消息

原文地址:https://www.cnblogs.com/Sheenagh/p/12228387.html

时间: 2024-10-12 13:42:23

Windows API——文件处理函数的相关文章

windows API中CreateWindow()函数详解

CreateWindow函数详解 在注册完窗口类后就需要进行窗口的创建,用到的函数理所当然就是CreateWindow(), 而这个函数是基于窗口类的,所以还需要指定几个参数来制定特定的窗口.而且像一些不带边框的窗口是怎么创建的也是具有相当的技巧的,就是创建的是不带标题和边框的窗口,然后自己在客户区绘制程序的内容,能够制作个性化的应用程序. API解释 该函数创建一个重叠式窗口.弹出式窗口或子窗口.它指定窗口类,窗口标题,窗口风格,以及窗口的初始位置及大小(可选的).函数也指该窗口的父窗口或所属

Windows API 文件处理

CloseHandle 关闭一个内核对象.其中包括文件.文件映射.进程.线程.安全和同步对象等 CompareFileTime 对比两个文件的时间 CopyFile 复制文件 CreateDirectory 创建一个新目录 CreateFile 打开和创建文件.管道.邮槽.通信服务.设备以及控制台 CreateFileMapping 创建一个新的文件映射对象 DeleteFile 删除指定文件 DeviceIoControl 对设备执行指定的操作 DosDateTimeToFileTime 将D

Windows API 编程----EnumWindows()函数的用法

1. 函数原型: BOOL WINAPI EnumWindows( _In_ WNDENUMPROC lpEnumFunc, _In_ LPARAM lParam); lpEnumFunc: 应用程序定义的回调函数的指针 lParam:         传递给回调函数的应用程序定义的值 MSDN中对EnumWindows的解释: Enumerates all top-level windows on the screen by passing the handle to each window,

Delphi Windows API判断文件共享锁定状态

一.概述 锁是操作系统为实现数据共享而提供的一种安全机制,它使得不同的应用程序,不同的计算机之间可以安全有效地共享和交换数据.要保证安全有效地操作共享数据,必须在相应的操作前判断锁的类型,然后才能确定数据是否可读或可写,从而为开发出健壮的程序提供切实依据.   同样,在Windows中,文件可以共享模式打开,它也涉及到锁的操作问题.根据Windows中文件共享时加锁范围的大小,锁可分为全局锁和局部锁:全局锁以锁定文件全部内容为特征,而局部锁以锁定文件的局部内容为特征,且文件的锁定区域不可重复.根

在VBA中使用Windows API

VBA是一种强大的编程语言,可用于自定义Microsoft Office解决方案.通过使用VBA处理一个或多个Office应用程序对象模型,可以容易地修改Office应用程序的功能或者能够使两个或多个Office应用程序协同工作以完成单个应用程序无法完成的任务.然而,使用VBA仅能控制操作系统的一小部分.Windows API提供了控制操作系统绝大多数方面的功能.下面,介绍在VBA中使用Windows API的一些知识. 理解APIs API只是一组函数,可用于处理组件.应用程序或操作系统.通常

使用windows API函数获取目录下所有文件名---目录下文件的扫描和处理

直接上代码 // test_max.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <windows.h> #include <Shlwapi.h> #include <iostream> #include <string> #include <vector> #pragma comment(lib,"shlwapi.lib") //注意放置的位置

使用IDA PRO+OllyDbg+PEview 追踪windows API 动态链接库函数的调用过程

http://bbs.pediy.com/showthread.php?p=1354999 标 题: [原创]使用IDA PRO+OllyDbg+PEview 追踪windows API 动态链接库函数的调用过程.作 者: shayi时 间: 2015-02-12,05:19:54链 接: http://bbs.pediy.com/showthread.php?t=197829 使用IDA PRO+OllyDbg+PEview 追踪windows API 动态链接库函数的调用过程. (本文同步更

WINDOWS API 函数(超长,值得学习)

一.隐藏和显示光标 函数: int ShowCursor ( BOOL bShow );  参数 bshow,为布尔型,bShow的值为False时隐藏光标,为True时显示光标:该函数的返回值为整型,为鼠标隐藏或显示的指数器:返回值大于等于0时显示光标,否则隐藏鼠标:如果安装了鼠标初值为0. 二.交换鼠标左右键和恢复 函数:BOOL SwapMouseButton ( BOOL fSwap );  参数 fSwap,为布尔型,TRUE表示交换鼠标左右键,FALSE表示恢复系统默认左右手习惯:返

简要的Windows API函数大全

1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接 WNetDisconne