VB声明 |
|
Declare Function OpenFile Lib "kernel32" Alias "OpenFile" (ByVal lpFileName As String, lpReOpenBuff As OFSTRUCT, ByVal wStyle As Long) As Long |
|
说明 |
|
这个函数能执行大量不同的文件操作。和这个函数相比,请优先考虑win32的CreateFile函数(它能打开命名管道和控制Unicode文件名,同时不受128个字符的路径名称的限制) |
|
返回值 |
|
Long,如执行成功,返回文件句柄。注意文件句柄可能是无效的;例如,假设指定了OF_EXIST标志,文件在函数返回前会关闭,但它打开时的句柄却永远不会返回。如果出错,函数会返回HFILE_ERROR;此时,由lpReOpenBuff指定的OFSTRUCT结构的nErrCode会设置成发生的错误。表OpenFile-2(OFSTRUCT出错代码)对这些错误进行了总结。会设置GetLastError |
|
参数表 |
|
参数 |
类型及说明 |
lpFileName |
String,欲打开文件的名字 |
lpReOpenBuff |
OFSTRUCT,该结构填充的数据包括与文件和操作结果有关的信息 |
wStyle |
Long,参考表OpenFile-1(OpenFile函数的标志常数表)总结的标志常数的组合,它决定了要采取的操作方式 |
wStyle常数 |
说明 |
OF_CREATE |
创建指定的文件。如已经存在,则将其缩减为零长度 |
OF_DELETE |
删除指定的文件 |
OF_EXIST |
通过尝试打开文件的做法,判断一个文件是否存在。如文件存在,则将其关闭。此时,函数会返回文件打开时使用的句柄,但这个句柄是无效的。如指定的文件不存在,则返回一个负数 |
OF_PARSE |
填写lpReOpenBuff结构的内容,但不执行其他任何操作 |
OF_PROMPT |
如文件不存在,则显示一个消息框,在其中列出重试和取消按钮 |
OF_READ |
以只读方式打开文件 |
OF_READWRITE |
以可读、可写的方式打开文件 |
OF_REOPEN |
打开lpReOpenBuff结构内指定的文件,而不是用lpFileName参数 |
OF_SEARCH |
强迫windows查找文件——即使指定了特定的路径 |
OF_SHARE_COMPAT |
文件可由多个应用程序打开多次 |
OF_SHARE_DENY_NONE |
可打开文件,以便由其他程序读写 |
OF_SHARE_DENY_READ |
禁止其他程序读写文件内容 |
OF_SHARE_DENY_WRITE |
其他程序可以读文件,但不能写文件 |
OF_SHARE_EXCLUSIVE |
其他任何一个程序都不能再打开这个文件 |
OF_WRITE |
文件以只写模式打开 |
表OpenFile-2(OFSTRUCT出错代码) |
|||
十六进制值 |
说明 |
十六进制值 |
说明 |
1 |
函数无效 |
2 |
文件未找到 |
3 |
路径未找到 |
4 |
无可用文件句柄 |
5 |
拒绝访问 |
6 |
句柄无效 |
7 |
DOS内存冲突 |
8 |
无足够内存完成操作 |
9 |
无效块 |
A |
非法环境 |
B |
无效格式 |
C |
无效访问 |
D |
无效数据 |
|
|
F |
无效驱动器 |
10 |
当前目录无效 |
11 |
设备有异 |
12 |
没有更多的文件 |
13 |
写保护错 |
14 |
非法单位 |
15 |
驱动器未准备好 |
16 |
无效命令 |
17 |
CRC校验错 |
18 |
无效长度 |
19 |
搜索错误 |
1A |
磁盘不兼容MS-DOS |
1B |
扇区未找到 |
1C |
缺纸 |
1D |
写错误 |
1E |
读错误 |
1F |
驱动器常规错误 |
20 |
共享违例 |
21 |
文件锁定违例 |
22 |
不正确的磁盘 |
23 |
无可用的文件控制块 |
24 |
共享缓冲区溢出 |
32 |
不支持的设备 |
33 |
远程设备不可用 |
34 |
重名错误 |
35 |
网络路径错误 |
36 |
网络忙 |
37 |
非法设备 |
38 |
命令太多 |
39 |
网卡硬件错误 |
3A |
网络响应错误 |
3B |
其他网络错误 |
3C |
远程适配器错误 |
3D |
打印队列满 |
3E |
后台打印缓冲区满 |
3F |
打印取消 |
40 |
删除的网络名 |
41 |
拒绝网络访问 |
42 |
无效设备类型 |
43 |
无效网络名 |
44 |
名字太多 |
45 |
会话太多 |
46 |
共享暂停 |
47 |
请求未接受 |
48 |
重定向暂停 |
50 |
文件退出 |
51 |
文件控制块重复 |
52 |
不能创建 |
53 |
中断24错误 |
54 |
缺少结构 |
55 |
已经分配 |
56 |
密码无效 |
57 |
参数无效 |
58 |
网络写错误 |