问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

vb60编程中,如何用API函数中的createfile()创建一个文件?

发布网友 发布时间:2023-04-02 11:20

我来回答

1个回答

热心网友 时间:2024-09-29 23:54

分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:

vb60编程中,如何用API函数中的createfile()创建一个文件?能否给出具体的代码?我要创建的是一个text文件,因为这个函数的参数太多了,看不懂?

解析:

实例

'This project needs a Common Dialog box, named CDBox.

' (To add the Common Dialog Box to your tools menu, go to Project->Components (or press CTRL-T)

' and select Microsoft Common Dialog control)

Private Type FILETIME

dwLowDateTime As Long

dwHighDateTime As Long

End Type

Private Type SYSTEMTIME

wYear As Integer

wMonth As Integer

wDayOfWeek As Integer

wDay As Integer

wHour As Integer

wMinute As Integer

wSecond As Integer

wMilliseconds As Integer

End Type

Private Const GENERIC_WRITE = &H***********

Private Const OPEN_EXISTING = 3

Private Const FILE_SHARE_READ = &H1

Private Const FILE_SHARE_WRITE = &H2

Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long

Private Declare Function SetFileTime Lib "kernel32" (ByVal hFile As Long, lpCreationTime As FILETIME, lpLastAccessTime As FILETIME, lpLastWriteTime As FILETIME) As Long

Private Declare Function SystemTimeToFileTime Lib "kernel32" (lpSystemTime As SYSTEMTIME, lpFileTime As FILETIME) As Long

Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

Private Declare Function LocalFileTimeToFileTime Lib "kernel32" (lpLocalFileTime As FILETIME, lpFileTime As FILETIME) As Long

Private Sub Form_Load()

Dim m_Date As Date, lngHandle As Long

Dim udtFileTime As FILETIME

Dim udtLocalTime As FILETIME

Dim udtSystemTime As SYSTEMTIME

m_Date = Format(Now, "DD-MM-YY")

'Set the dialog's title

CDBox.DialogTitle = "Choose a file ..."

'Set the dialog's filter

CDBox.Filter = "All Files (*.*)|*.*"

'Show the 'Open File'-dialog

CDBox.ShowOpen

udtSystemTime.wYear = Year(m_Date)

udtSystemTime.wMonth = Month(m_Date)

udtSystemTime.wDay = Day(m_Date)

udtSystemTime.wDayOfWeek = WeekDay(m_Date) - 1

udtSystemTime.wHour = Hour(m_Date)

udtSystemTime.wSecond = Second(m_Date)

udtSystemTime.wMilliseconds = 0

' convert system time to local time

SystemTimeToFileTime udtSystemTime, udtLocalTime

' convert local time to GMT

LocalFileTimeToFileTime udtLocalTime, udtFileTime

' open the file to get the filehandle

lngHandle = CreateFile(CDBox.Filename, GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0)

' change date/time property of the file

SetFileTime lngHandle, udtFileTime, udtFileTime, udtFileTime

' close the handle

CloseHandle lngHandle

MsgBox "The date of the file '" + CDBox.Filename + "' has been changed to" + Str$(m_Date), vbInformation + vbOKOnly, App.Title

End Sub

附:

【VB声明】

Private 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

【别名】

CreateFileA

【说明】

这是一个全功能的例程,可打开和创建文件、管道、邮槽、通信服务、设备以及控制台

【返回值】

Long,如执行成功,则返回文件句柄。INVALID_HANDLE_VALUE表示出错,会设置GetLastError。即使函数成功,但若文件存在,且指定了CREATE_ALWAYS

或 OPEN_ALWAYS,GetLastError也会设为ERROR_ALREADY_EXISTS

【备注】

打开一个通信端口时(如COM1),无论如何都要设置成

OPEN_EXISTING

这个函数代替了lOpen 和 lCreate函数,应该是我们的首选

【参数表】

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,如果不为零,则指定一个文件句柄。新文件将从这个文件中复制扩展属性
CreateFileVB声明

在Windows编程中,CreateFileVB函数是一个非常重要的功能,它使用kernel32库中的CreateFileA方法,用于打开或创建多种对象,包括控制台、通信资源、目录、磁盘驱动器、文件、邮槽和管道。这个函数的原型如下:FUNCTION CreateFile(_In_ LPCTSTR lpFileName,_In_ DWORD dwDesiredAccess,_In_ DWORD dwShareMode...

vb中createfile返回-1

CreateFileA 【说明】这是一个全功能的例程,可打开和创建文件、管道、邮槽、通信服务、设备以及控制台 【返回值】Long,如执行成功,则返回文件句柄。INVALID_HANDLE_VALUE表示出错,会设置GetLastError。即使函数成功,但若文件存在,且指定了CREATE_ALWAYS 或 OPEN_ALWAYS,GetLastError也会设为ERROR_ALREADY...

运维工程师笔试题

1. 任何线程都可以调用此函数来终止自己或另一个进程的运行 2. 只要调用过了此函数,则指定要退出的进程已经退出。 3. 只有当无法使用另一种方法来迫使进程退出时,才考虑使用此函数。 4. 用此函数退出进程,进程没有机会将自己的数据存入硬盘,也无法释放占用的内存。 Question 49. (单选) 大量API中都需要一个S...

句柄是什么(在计算机编程中的意义)

在Windows操作系统中,句柄被用于访问各种系统资源,例如窗口、文件、进程、线程、事件、信号等。在WindowsAPI中,许多函数都需要句柄作为参数来指定要操作的对象或资源。例如,CreateWindowEx函数用于创建一个新的窗口,并返回一个窗口句柄;CreateFile函数用于打开一个文件,并返回一个文件句柄。在Linux操作系统...

WriteFileVB声明

在Windows编程中,经常会用到WriteFile函数,这个函数是通过kernel32库提供的,主要用来向文件中写入数据。VB编程中,我们需要通过声明来调用这个功能。WriteFile函数的声明如下:vbDeclare Function WriteFile Lib "kernel32" Alias "WriteFile" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOf...

WDM驱动消息如何传递到上层应用,上层应用如何得到驱动消息。 请用白...

(这里说明一下,在规范的WDM程序中,创建设备对象的任务本来该由AddDevice函数来做,而这个函数也是通过驱动程序对象的一个函数指针来定位的。在这种规范的WDM程序中,一旦有新硬件加入,系统就会自动通过驱动程序对象的函数指针找到AddDevice函数,并调用它来创建设备对象。但是在这里,我并不是在为实际存在的硬件写驱动,而...

如何编写木马程序?

Declare Function CreateFileMapping Lib "kernel32" Alias "CreateFileMappingA" (ByVal hFile As Long, lpFileMappigAttributes As SECURITY_ATTRIBUTES, ByVal flProtect As Long, ByVal dwMaximumSizeHigh As Long, ByVal dwMaximumSizeLow As Long, ByVal lpName As String) As Long '创建一个新的文件...

wosa编程中怎样获取事件

CreateFile()为读访问、写访问或读写访问逗打开地串口。按照Windows的通常做法,CreateFile()返回一个句柄,随后在打开的端口的操作中使用CreateFile()函数非常复杂,复杂性的原因之一是它是通用的。可以使用CreateFile打开已存在的文件,创建新文件和打开根本就不是文件的设备,例如串口、并口和调制解调器。CreateFile()...

c++mfc编程中,按行读取txt文件字符串并在列表框中显示。

读文件:Win32API:首先CreateFile打开文件,然后ReadFile读取文件,CloseHandle关闭文件句柄C:1、fopen2、fread3、fcloseMFC显示文字:CDC*pDC=GetDC();.pDC->TextOut();//或者pDC->DrawText();ReleaseDC(pDC);

CreateFileVC声明

CreateFile函数在Windows系统中扮演重要角色,它用于创建或打开多种对象并返回一个句柄,包括文件、管道、邮件槽、通信资源等。这个函数的声明如下:HANDLE CreateFile( LPCTSTR lpFileName, // 文件名或设备名的指向指针 DWORD dwDesiredAccess, // 访问模式,如GENERIC_READ(读取)或GENERIC_WRITE(...

excel最常用的八个函数 vb中mid函数怎么用 excel常用函数 vb中abs函数是什么意思 replace函数 excel vb编程 vb int函数 malloc函数 linest函数
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
形容一个人眼睛好看的句子 男士银饰品牌推荐,景区银饰店推荐理由范文 哪些品牌的男士饰品质量好? 男士项链哪个品牌的口碑好? 男士手链品牌有哪些如何挑选男士手链 男士饰品有哪些品牌 客厅灯具尺寸选择以及风格 我的电脑 经常 蓝屏 怀疑主板时间长了 不行了 是amd的 求推荐 性价比... ...电脑店老板说我硬盘损坏过多。叫我换块固态硬盘。请帮我看看是不... 以童年的往事为话题,写一篇作文,不少于600字, 石斑鱼的种类有哪些?,石斑鱼有哪几种 地龙的最佳配什么属相,八字合婚天龙地龙相配吗 八字合婚天龙地龙相配吗 八字合婚配对 属龙女和属猴男能婚配吗? 属龙和什么属相相合,八字合婚免费测试 Prada 春夏“水晶包” 小笼包和水晶包的区别 水晶包好吃吗?为什么叫水晶包啊?哪里有卖? 水晶包的解释 十二生肖之中的哪一个生肖是有隔阂的呢 大秦与安息、天竺交市海中,利有十倍。...其王常欲通使于汉,而安_百度... 安息人为什么要遮阂大秦的使者使汉 遮阂的解释 怎么把片段下载到MP4 个人如何申请银行贷款?银行贷款流程是怎样的? 不通过中介自己到银行贷款的4个步骤 为什么华为手机酷狗没有免费听歌模式 哀民之多艰为题写作文 喜怒哀乐挑一个写作文四百字 以哀为题写作文 vb编程怎样建立一个文件的快捷方式 阿富汗玉冒充和田玉违法吗 口字旁 再一个伐木的伐 ospf如何宣告29位的地址 左口又伐什么字 洗脸会不会伤害皮肤 洗脸的正确步骤顺序 求3Dmax 9.0 注册码 急用! 脚本精灵iphone可以用么? 大别老师团购楼盘靠谱吗 在58同城上看新房说带着去有团购价靠谱吗 牛牛惠选社区团购平台靠谱吗 股骨头坏死早期有效治愈方法有哪些? 栎阳公主和高渐离是什么关系 高渐离吃栎阳公主奶电视剧谁主演 异案调查局结局啥意思 哪些物质含DHA? 500克红糖用多大容量瓶子装 质量为500克的瓶子,装满水后总质量1500克。用该瓶子装满另一种液体质量... 抖音上留qq下载软件是真的吗 怎样从网页上下载QQ留览器到手机?谢了