createfile函数(关于CreateFile函数)

本文目录
- 关于CreateFile函数
- c语言createfile函数用法
- CreateFile 函数打开设备失败
- c# 编程CreateFile函数
- VB API函数createfile怎么用
- C#调用createfile()函数, 哪位大侠行行好啊,这个怎调用啊是不是要引入命名空间啊
关于CreateFile函数
楼主太不厚道,明明是我新回答的!
常量字符串默认是char*,你的代码需要强制类型转换,请用如下方法试试:
hFile
=
CreateFile(L“5.txt“,GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);
或者
hFile
=
CreateFile(_T(“5.txt“),GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);
c语言createfile函数用法
1、CreateFile 是一个多功能的函数,可打开或创建以下对象,并返回可访问的句柄:控制台,通信资源,目录(只读打开),磁盘驱动器,文件,邮槽,管道。
2、例程:
#include 《windows.h》int main()
{
HANDLE hf = CreateFile(TEXT(“C:\\testa.bin“), GENERIC_WRITE, 0,
0, CREATE_ALWAYS, 0, 0);
DWORD written;
WriteFile(hf, “\x0f\xff\xff\xff\xff\xff“, 6, &written, 0);
CloseHandle(hf);
hf = CreateFile(TEXT(“c:\\testb.bin“), GENERIC_WRITE, 0,
0, OPEN_ALWAYS, 0, 0);
SetFilePointer(hf, 0, 0, FILE_END);
WriteFile(hf, “\x0f\xff\xff\xff\xff\xff“, 6, &written, 0);
CloseHandle(hf);
return 0;
}
CreateFile 函数打开设备失败
那是因为你创建的是设备名称,这个只能在ring0层访问。
要想在ring3层访问,需要创建ring3层可以访问的符号链接与设备关联。
RtlInitUnicodeString(&ustrSymLink,L“\\??\\Jow_SymLink“);
IoCreateSymbolicLink(&ustrSymLink,&uniNtNameString);
ring3层访问的时候CreateFile(“\\\\.\\Jow_SymLink“,........)
c# 编程CreateFile函数
你找的是c++里的创建文件的函数,在c#里应该是用下面的
--------------------------------------------------------------------------------------
File 类
提供用于创建、复制、删除、移动和打开文件的静态方法,并协助创建 FileStream 对象。
继承层次结构
System.Object
System.IO.File
命名空间: System.IO
程序集: mscorlib(在 mscorlib.dll 中)
语法
C#
public static class File
File 类型公开以下成员。
公共方法静态成员 Create(String) 在指定路径中创建或覆盖文件。
公共方法静态成员 Create(String, Int32) 创建或覆盖指定的文件。
公共方法静态成员 Create(String, Int32, FileOptions) 创建或覆盖指定的文件,并指定缓冲区大小和一个描述如何创建或覆盖该文件的 FileOptions 值。
公共方法静态成员 Create(String, Int32, FileOptions, FileSecurity) 创建或覆盖具有指定的缓冲区大小、文件选项和文件安全性的指定文件。
下面的示例在指定路径中创建一个文件,将一些信息写入该文件,再从文件中读取。
using System;
using System.IO;
using System.Text;
class Test
{
public static void Main()
{
string path = @“c:\temp\MyTest.txt“;
try
{
// Delete the file if it exists.
if (File.Exists(path))
{
// Note that no lock is put on the
// file and the possibility exists
// that another process could do
// something with it between
// the calls to Exists and Delete.
File.Delete(path);
}
// Create the file.
using (FileStream fs = File.Create(path))
{
Byte info = new UTF8Encoding(true).GetBytes(“This is some text in the file.“);
// Add some information to the file.
fs.Write(info, 0, info.Length);
}
// Open the stream and read it back.
using (StreamReader sr = File.OpenText(path))
{
string s = ““;
while ((s = sr.ReadLine()) != null)
{
Console.WriteLine(s);
}
}
}
catch (Exception Ex)
{
Console.WriteLine(Ex.ToString());
}
}
}
VB API函数createfile怎么用
声明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
说明
这是一个全功能的例程,可打开和创建文件、管道、邮槽、通信服务、设备以及控制台
返回值
Long,如执行成功,则返回文件句柄。INVALID_HANDLE_VALUE表示出错,会设置GetLastError。即使函数成功,但若文件存在,且指定了CREATE_ALWAYS 或 OPEN_ALWAYS,GetLastError也会设为ERROR_ALREADY_EXISTS
参数表
参数 类型及说明
lpFileName String,要打开的文件的名字
dwDesiredAccess Long,如果为 GENERIC_READ 表示允许对设备进行读访问;如果为 GENERIC_WRITE 表示允许对设备进行写访问(可组合使用);如果为零,表示只允许获取与一个设备有关的信息
dwShareMode Long,零表示不共享; FILE_SHARE_READ 和/或 FILE_SHARE_WRITE 表示允许对文件进行共享访问
lpSecurityAttributes SECURITY_ATTRIBUTES,指向一个SECURITY_ATTRIBUTES结构的指针,定义了文件的安全特性(如果操作系统支持的话)
dwCreationDisposition Long,下述常数之一:
CREATE_NEW 创建文件;如文件存在则会出错
CREATE_ALWAYS 创建文件,会改写前一个文件
OPEN_EXISTING 文件必须已经存在。由设备提出要求
OPEN_ALWAYS 如文件不存在则创建它
TRUNCATE_EXISTING 讲现有文件缩短为零长度
dwFlagsAndAttributes Long,一个或多个下述常数
FILE_ATTRIBUTE_ARCHIVE 标记归档属性
FILE_ATTRIBUTE_COMPRESSED 将文件标记为已压缩,或者标记为文件在目录中的默认压缩方式
FILE_ATTRIBUTE_NORMAL 默认属性
FILE_ATTRIBUTE_HIDDEN 隐藏文件或目录
FILE_ATTRIBUTE_READONLY 文件为只读
FILE_ATTRIBUTE_SYSTEM 文件为系统文件
FILE_FLAG_WRITE_THROUGH 操作系统不得推迟对文件的写操作
FILE_FLAG_OVERLAPPED 允许对文件进行重叠操作
FILE_FLAG_NO_BUFFERING 禁止对文件进行缓冲处理。文件只能写入磁盘卷的扇区块
FILE_FLAG_RANDOM_ACCESS 针对随机访问对文件缓冲进行优化
FILE_FLAG_SEQUENTIAL_SCAN 针对连续访问对文件缓冲进行优化
FILE_FLAG_DELETE_ON_CLOSE 关闭了上一次打开的句柄后,将文件删除。特别适合临时文件
也可在Windows NT下组合使用下述常数标记:
SECURITY_ANONYMOUS, SECURITY_IDENTIFICATION, SECURITY_IMPERSONATION, SECURITY_DELEGATION, SECURITY_CONTEXT_TRACKING, SECURITY_EFFECTIVE_ONLY
hTemplateFile Long,如果不为零,则指定一个文件句柄。新文件将从这个文件中复制扩展属性
注解
打开一个通信端口时(如COM1),无论如何都要设置成 OPEN_EXISTING
这个函数代替了lOpen 和 lCreate函数,应该是我们的首选
希望这个对你有帮助,把这个API函数的使用方法完全告诉了你,你可以对照自己的需要进行使用!
C#调用createfile()函数, 哪位大侠行行好啊,这个怎调用啊是不是要引入命名空间啊
命名空间: System.IO.IsolatedStorage
程序集: mscorlib(在 mscorlib.dll 中)
原型:public IsolatedStorageFileStream CreateFile(string path)
参数
path
类型:System.String
要在独立存储区中创建的文件的相对路径。
返回值
类型:System.IO.IsolatedStorage.IsolatedStorageFileStream
新的独立 storage 文件。

更多文章:
dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)
2026年10月11日 08:50
易语言网页api接口怎么调用(易语言,怎么读取网页json的api)
2026年10月11日 08:00
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40
another time(another time和other time的区别)
2026年10月11日 05:00






