📄 createfile.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<style><!--
body,table {font-family:"宋体"; font-size: 9pt; line-height:11pt;}
a {text-decoration:none} a:hover {color:red;text-decoration:underline}
--></style>
<title>CreateFile</title>
</head>
<body link="#FF0000" vlink="#FF0000" alink="#FF0000" bgcolor="#FFC8C8">
<div align="center"><center>
<table border="0" width="100%" height="22" cellspacing="0" cellpadding="0">
<tr>
<td width="100%" height="16"><a name="CreateFile">CreateFile</a></td>
</tr>
</table>
</center></div><div align="center"><center>
<table border="1" width="100%" bordercolorlight="#808080" cellspacing="0"
bordercolordark="#FFFFFF">
<tr>
<td width="103%" colspan="3">VB声明</td>
</tr>
<tr>
<td width="103%" colspan="3">Declare Function CreateFile Lib "kernel32" Alias
"CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal
dwShareMode As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, ByVal
dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As
Long) As Long</td>
</tr>
<tr>
<td width="103%" colspan="3">说明</td>
</tr>
<tr>
<td width="103%" colspan="3">这是一个全功能的例程,可打开和创建文件、管道、邮槽、通信服务、设备以及控制台</td>
</tr>
<tr>
<td width="103%" colspan="3">返回值</td>
</tr>
<tr>
<td width="103%" colspan="3">Long,如执行成功,则返回文件句柄。INVALID_HANDLE_VALUE表示出错,会设置<a
href="GetLastError.htm" tppabs="http://personal.hb.cninfo.net/~vbapi/GetLastError.htm">GetLastError</a>。即使函数成功,但若文件存在,且指定了CREATE_ALWAYS
或 OPEN_ALWAYS,<a href="GetLastError.htm" tppabs="http://personal.hb.cninfo.net/~vbapi/GetLastError.htm">GetLastError</a>也会设为ERROR_ALREADY_EXISTS</td>
</tr>
<tr>
<td width="103%" colspan="3">参数表</td>
</tr>
<tr>
<td width="25%">参数</td>
<td width="78%" colspan="2">类型及说明</td>
</tr>
<tr>
<td width="25%">lpFileName</td>
<td width="78%" colspan="2">String,要打开的文件的名字</td>
</tr>
<tr>
<td width="25%">dwDesiredAccess</td>
<td width="78%" colspan="2">Long,如果为 GENERIC_READ
表示允许对设备进行读访问;如果为 GENERIC_WRITE
表示允许对设备进行写访问(可组合使用);如果为零,表示只允许获取与一个设备有关的信息</td>
</tr>
<tr>
<td width="25%">dwShareMode</td>
<td width="78%" colspan="2">Long,零表示不共享; FILE_SHARE_READ 和/或
FILE_SHARE_WRITE 表示允许对文件进行共享访问</td>
</tr>
<tr>
<td width="25%">lpSecurityAttributes</td>
<td width="78%" colspan="2">SECURITY_ATTRIBUTES,指向一个SECURITY_ATTRIBUTES结构的指针,定义了文件的安全特性(如果操作系统支持的话)</td>
</tr>
<tr>
<td width="25%" rowspan="6">dwCreationDisposition</td>
<td width="78%" colspan="2">Long,下述常数之一:</td>
</tr>
<tr>
<td width="37%">CREATE_NEW</td>
<td width="38%">创建文件;如文件存在则会出错</td>
</tr>
<tr>
<td width="37%">CREATE_ALWAYS</td>
<td width="38%">创建文件,会改写前一个文件</td>
</tr>
<tr>
<td width="37%">OPEN_EXISTING</td>
<td width="38%">文件必须已经存在。由设备提出要求</td>
</tr>
<tr>
<td width="37%">OPEN_ALWAYS</td>
<td width="38%">如文件不存在则创建它</td>
</tr>
<tr>
<td width="37%">TRUNCATE_EXISTING</td>
<td width="38%">讲现有文件缩短为零长度</td>
</tr>
<tr>
<td width="25%" rowspan="15">dwFlagsAndAttributes</td>
<td width="78%" colspan="2">Long,一个或多个下述常数</td>
</tr>
<tr>
<td width="37%">FILE_ATTRIBUTE_ARCHIVE</td>
<td width="38%">标记归档属性</td>
</tr>
<tr>
<td width="37%">FILE_ATTRIBUTE_COMPRESSED</td>
<td width="38%">将文件标记为已压缩,或者标记为文件在目录中的默认压缩方式</td>
</tr>
<tr>
<td width="37%">FILE_ATTRIBUTE_NORMAL</td>
<td width="38%">默认属性</td>
</tr>
<tr>
<td width="37%">FILE_ATTRIBUTE_HIDDEN</td>
<td width="38%">隐藏文件或目录</td>
</tr>
<tr>
<td width="37%">FILE_ATTRIBUTE_READONLY</td>
<td width="38%">文件为只读</td>
</tr>
<tr>
<td width="37%">FILE_ATTRIBUTE_SYSTEM</td>
<td width="38%">文件为系统文件</td>
</tr>
<tr>
<td width="37%">FILE_FLAG_WRITE_THROUGH</td>
<td width="38%">操作系统不得推迟对文件的写操作</td>
</tr>
<tr>
<td width="37%">FILE_FLAG_OVERLAPPED</td>
<td width="38%">允许对文件进行重叠操作</td>
</tr>
<tr>
<td width="37%">FILE_FLAG_NO_BUFFERING</td>
<td width="38%">禁止对文件进行缓冲处理。文件只能写入磁盘卷的扇区块</td>
</tr>
<tr>
<td width="37%">FILE_FLAG_RANDOM_ACCESS</td>
<td width="38%">针对随机访问对文件缓冲进行优化</td>
</tr>
<tr>
<td width="37%">FILE_FLAG_SEQUENTIAL_SCAN</td>
<td width="38%">针对连续访问对文件缓冲进行优化</td>
</tr>
<tr>
<td width="37%">FILE_FLAG_DELETE_ON_CLOSE</td>
<td width="38%">关闭了上一次打开的句柄后,将文件删除。特别适合临时文件</td>
</tr>
<tr>
<td width="78%" colspan="2">也可在Windows NT下组合使用下述常数标记:</td>
</tr>
<tr>
<td width="78%" colspan="2">SECURITY_ANONYMOUS, SECURITY_IDENTIFICATION,
SECURITY_IMPERSONATION, SECURITY_DELEGATION, SECURITY_CONTEXT_TRACKING,
SECURITY_EFFECTIVE_ONLY</td>
</tr>
<tr>
<td width="25%">hTemplateFile</td>
<td width="78%" colspan="2">Long,如果不为零,则指定一个文件句柄。新文件将从这个文件中复制扩展属性</td>
</tr>
<tr>
<td width="103%" colspan="3">注解</td>
</tr>
<tr>
<td width="103%" colspan="3">打开一个通信端口时(如COM1),无论如何都要设置成
OPEN_EXISTING<br>
这个函数代替了lOpen 和 lCreate函数,应该是我们的首选</td>
</tr>
</table>
</center></div><div align="center"><center>
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="100%"><p align="right"><a href="#CreateFile">Top</a></td>
</tr>
</table>
</center></div>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -