欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
VB中利用Windows API實(shí)現文件操作,VB教程,VB案例,VB實(shí)例
Windows API函數
功能
CloseHandle關(guān)閉一個(gè)內核對象。其中包括文件、文件映射、進(jìn)程、線(xiàn)程、安全和同步對象等。涉及文件處理時(shí),這個(gè)函數通常與vb的close命令相似。應盡可能的使用close,因為它支持vb的差錯控制。注意這個(gè)函數使用的文件句柄與vb的文件編號是完全不同的
CompareFileTime根據FILETIME結構的信息,對比兩個(gè)文件的時(shí)間
CopyFile復制文件。與vb的filecopy命令相似
CreateFile這是一個(gè)全功能的函數,可打開(kāi)和創(chuàng )建文件、管道、郵槽、通信服務(wù)、設備以及控制臺
DeleteFile刪除指定文件
FindClose關(guān)閉由FindFirstFile函數創(chuàng )建的一個(gè)搜索句柄
FindFirstFile根據文件名查找文件
FindNextFile根據調用FindFirstFile函數時(shí)指定的一個(gè)文件名查找下一個(gè)文件
FlushFileBuffers針對指定的文件句柄,刷新內部文件緩沖區
GetBinaryType判斷文件是否可以執行
GetFileAttributes判斷指定文件的屬性
GetFileInformationByHandle這個(gè)函數提供了獲取文件信息的一種機制——在一個(gè)BY_HANDLE_FILE_INFORMATION結構中裝載與文件有關(guān)的信息
GetFileSize判斷文件長(cháng)度
GetFileTime取得指定文件的時(shí)間信息
GetFileType在給出文件句柄的前提下,判斷文件類(lèi)型
GetFileVersionInfo從支持版本標記的一個(gè)模塊里獲取文件版本信息
GetFileVersionInfoSize針對包含了版本資源的一個(gè)文件,判斷容納文件版本信息需要一個(gè)多大的緩沖區
GetShortPathName獲取指定文件的短路徑名
GetTempFileName這個(gè)函數包含了一個(gè)臨時(shí)文件的名字,它可由應用程序使用
lclose關(guān)閉指定的文件,請參考CloseHandle函數,了解進(jìn)一步的情況
lcreat創(chuàng )建一個(gè)文件。如文件已經(jīng)存在,就會(huì )將其縮短成零長(cháng)度,并將其打開(kāi),以便讀寫(xiě)
llseek設置文件中進(jìn)行讀寫(xiě)的當前位置。該函數與vb的seek語(yǔ)句類(lèi)似。如果用vb的open命令打開(kāi)了一個(gè)文件,那么不要再對這個(gè)文件使用llseek函數
LockFile在windows中,文件可用共享模式打開(kāi)——在這種情況下,多個(gè)進(jìn)程可同時(shí)訪(fǎng)問(wèn)該文件。利用這個(gè)函數,要對文件進(jìn)行讀寫(xiě)的一個(gè)應用程序可將文件的某一部分鎖定起來(lái),使其不能由其他應用程序訪(fǎng)問(wèn)。這樣便避免了同時(shí)讀寫(xiě)時(shí)發(fā)生的沖突
LockFileEx與LockFile相似,只是它提供了更多的功能
lopen以二進(jìn)制模式打開(kāi)指定的文件
lread將文件中的數據讀入內存緩沖區
lwrite將數據從內存緩沖區寫(xiě)入一個(gè)文件
MoveFile, MoveFileEx移動(dòng)文件。如dwFlags設為零,則MoveFile完全等價(jià)于MoveFileEx
OpenFile這個(gè)函數能執行大量不同的文件操作。和這個(gè)函數相比,請優(yōu)先考慮win32的CreateFile函數(它能打開(kāi)命名管道和控制Unicode文件名,同時(shí)不受128個(gè)字符的路徑名稱(chēng)的限制)
ReadFile從文件中讀出數據。與lread函數相比,這個(gè)函數要明顯靈活的多。該函數能夠操作通信設備、管道、套接字以及郵槽
ReadFileEx與ReadFile相似,只是它只能用于異步讀操作,并包含了一個(gè)完整的回調
SearchPath查找指定文件
SetEndOfFile針對一個(gè)打開(kāi)的文件,將當前文件位置設為文件末尾
SetFileAttributes設置文件屬性
SetFilePointer在一個(gè)文件中設置當前的讀寫(xiě)位置
SetFileTime設置文件的創(chuàng )建、訪(fǎng)問(wèn)及上次修改時(shí)間
UnlockFile解除對一個(gè)文件的鎖定
UnlockFileEx解除對一個(gè)文件的鎖定
WriteFile將數據寫(xiě)入一個(gè)文件。該函數比lwrite函數要靈活的多。也可將這個(gè)函數應用于對通信設備、管道、套接字以及郵槽的處理
WriteFileEx與WriteFile類(lèi)似,只是它只能用于異步寫(xiě)操作,并包括了一個(gè)完整的回調

  讓我們通過(guò)幾個(gè)例子來(lái)詳細的了解一下其中主要的幾個(gè)函數及其用法:



  1、CreateFile

  作用:這是一個(gè)全功能的例程,可打開(kāi)和創(chuàng )建文件、管道、郵槽、通信服務(wù)、設備以及控制臺

  聲明形式

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

  說(shuō)明:

  此函數的返回值類(lèi)型為L(cháng)ong,如執行成功,則返回文件句柄。INVALID_HANDLE_VALUE表示出錯,會(huì )設置GetLastError。即使函數成功,但若文件存在,且指定了CREATE_ALWAYS 或 OPEN_ALWAYS,GetLastError也會(huì )設為ERROR_ALREADY_EXISTS

  打開(kāi)一個(gè)通信端口時(shí)(如COM1),無(wú)論如何都要設置成 OPEN_EXISTING。

  這個(gè)函數代替了lOpen 和 lCreate函數,應該是我們的首選

  參數說(shuō)明:

參數類(lèi)型及說(shuō)明
lpFileNameString,要打開(kāi)的文件的名字
dwDesiredAccessLong,如果為 GENERIC_READ 表示允許對設備進(jìn)行讀訪(fǎng)問(wèn);如果為 GENERIC_WRITE 表示允許對設備進(jìn)行寫(xiě)訪(fǎng)問(wèn)(可組合使用);如果為零,表示只允許獲取與一個(gè)設備有關(guān)的信息
dwShareModeLong,零表示不共享; FILE_SHARE_READ 和/或 FILE_SHARE_WRITE 表示允許對文件進(jìn)行共享訪(fǎng)問(wèn)
lpSecurityAttributesSECURITY_ATTRIBUTES,指向一個(gè)SECURITY_ATTRIBUTES結構的指針,定義了文件的安全特性(如果操作系統支持的話(huà))
dwCreationDispositionLong,下述常數之一:
CREATE_NEW創(chuàng )建文件;如文件存在則會(huì )出錯
CREATE_ALWAYS創(chuàng )建文件,會(huì )改寫(xiě)前一個(gè)文件
OPEN_EXISTING文件必須已經(jīng)存在。由設備提出要求
OPEN_ALWAYS如文件不存在則創(chuàng )建它
TRUNCATE_EXISTING講現有文件縮短為零長(cháng)度
dwFlagsAndAttributesLong,一個(gè)或多個(gè)下述常數
FILE_ATTRIBUTE_ARCHIVE標記歸檔屬性
FILE_ATTRIBUTE_COMPRESSED將文件標記為已壓縮,或者標記為文件在目錄中的默認壓縮方式
FILE_ATTRIBUTE_NORMAL默認屬性
FILE_ATTRIBUTE_HIDDEN隱藏文件或目錄
FILE_ATTRIBUTE_READONLY文件為只讀
FILE_ATTRIBUTE_SYSTEM文件為系統文件
FILE_FLAG_WRITE_THROUGH操作系統不得推遲對文件的寫(xiě)操作
FILE_FLAG_OVERLAPPED允許對文件進(jìn)行重疊操作
FILE_FLAG_NO_BUFFERING禁止對文件進(jìn)行緩沖處理。文件只能寫(xiě)入磁盤(pán)卷的扇區塊
FILE_FLAG_RANDOM_ACCESS針對隨機訪(fǎng)問(wèn)對文件緩沖進(jìn)行優(yōu)化
FILE_FLAG_SEQUENTIAL_SCAN針對連續訪(fǎng)問(wèn)對文件緩沖進(jìn)行優(yōu)化
FILE_FLAG_DELETE_ON_CLOSE關(guān)閉了上一次打開(kāi)的句柄后,將文件刪除。特別適合臨時(shí)文件
也可在Windows NT下組合使用下述常數標記:
SECURITY_ANONYMOUS, SECURITY_IDENTIFICATION, SECURITY_IMPERSONATION, SECURITY_DELEGATION, SECURITY_CONTEXT_TRACKING, SECURITY_EFFECTIVE_ONLY
hTemplateFileLong,如果不為零,則指定一個(gè)文件句柄。新文件將從這個(gè)文件中復制擴展屬性

  示例如下:

long hfile= CreateFile(“c:\\test.txt”,GENERIC_READ,

FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,

OPEN_EXISTING,FILE_ELAG_OVERLAPPED,NULL)

  2、lcreat

  作用:創(chuàng )建一個(gè)文件。如文件已經(jīng)存在,就會(huì )將其縮短成零長(cháng)度,并將其打開(kāi),以便讀寫(xiě)

  聲明形式:

Declare Function lcreat Lib "kernel32" Alias "_lcreat" (ByVal lpPathName As String, ByVal iAttribute As Long) As Long

  說(shuō)明:此函數的返回值類(lèi)型為L(cháng)ong,如執行成功,返回打開(kāi)文件的句柄。如果出錯,則返回HFILE_ERROR

  該函數會(huì )打開(kāi)已由其他應用程序打開(kāi)的文件,所以使用它時(shí)要小心。win32的CreateFile函數已取代了這個(gè)函數。這個(gè)函數與vb的open語(yǔ)句作用相同

  參數說(shuō)明:

參數類(lèi)型及說(shuō)明
lpPathNameString,欲創(chuàng )建的文件的名字
iAttributeLong,下述值之一:
 0——文件能夠讀寫(xiě)
 1——創(chuàng )建只讀文件
 2——創(chuàng )建隱藏文件
 3——創(chuàng )建系統文件

  例如下面的語(yǔ)句打開(kāi)c:\test.txt文件

lcreat “c:\test.txt”,0

  3、lopen

  作用:以二進(jìn)制模式打開(kāi)指定的文件

  聲明形式:

Declare Function lopen Lib "kernel32" Alias "_lopen" (ByVal lpPathName As String, ByVal iReadWrite As Long) As Long

  說(shuō)明:此函數的返回值類(lèi)型為L(cháng)ong,如執行成功,返回打開(kāi)文件的句柄。HFILE_ERROR表示出錯。會(huì )設置GetLastError

  CreateFile函數在win32下提供了更多的功能:

  參數說(shuō)明:

參數類(lèi)型及說(shuō)明
lpPathNameString,欲打開(kāi)文件的名字
iReadWriteLong,訪(fǎng)問(wèn)模式和共享模式常數的一個(gè)組合,如下所示:
1、訪(fǎng)問(wèn)模式
READ打開(kāi)文件,讀取其中的內容
READ_WRITE打開(kāi)文件,對其進(jìn)行讀寫(xiě)
WRITE打開(kāi)文件,在其中寫(xiě)入內容
2、共享模式(參考OpenFile函數的標志常數表)
OF_SHARE_COMPAT, OF_SHARE_DENY_NONE, OF_SHARE_DENY_READ, OF_SHARE_DENY_WRITE, OF_SHARE_EXCLUSIVE

  4、GetFileTime

  作用:取得指定文件的時(shí)間信息

  聲明形式:

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

  說(shuō)明:Long,非零表示成功,零表示失敗。會(huì )設置GetLastError

  如果不需要特定的信息,那么lpCreationTime,lpLastAccessTime,lpLastWriteTime都可以設置為零(用ByVal As Long)。這個(gè)函數返回的文件時(shí)間采用UTC格式

  參數說(shuō)明:

參數類(lèi)型及說(shuō)明
hFileLong,文件的句柄
lpCreationTimeFILETIME,用于裝載文件的創(chuàng )建時(shí)間
lpLastAccessTimeFILETIME,用于裝載文件上一次訪(fǎng)問(wèn)的時(shí)間(FAT文件系統不支持這一特性)
lpLastWriteTimeFILETIME,用于裝載文件上一次修改的時(shí)間

  示例代碼如下:

‘函數聲明

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

Private Declare Function lopen Lib "kernel32" Alias "_lopen" (ByVal lpPathName As String, ByVal iReadWrite As Long) As Long

‘定義變量

Dim file As Long
Dim CreationTime As FileTime
Dim lastaccesstime As FileTime
Dim lastaccesstime As FileTime

‘定義結構

Private Type FileTime
 dwLowDateTime As Long
 dwHighDateTime As Long

End Type

Private Sub Form_Load()
 str1 = "c:\text.txt"
 file = lopen(str1, READ_WRITE) ‘打開(kāi)文件
 temp = GetFileTime(file, CreationTime, lastaccesstime, lastwritetime)’得到文件相關(guān)信息
 MsgBox CreationTime ‘顯示信息

End Sub

  以上代碼顯示文件的創(chuàng )建時(shí)間

  5、CopyFile

  作用:復制文件。與vb的filecopy命令相似

  聲明形式:

Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long

  說(shuō)明:Long,非零表示成功,零表示失敗。會(huì )設置GetLastError

  參數說(shuō)明:

參數類(lèi)型及說(shuō)明
lpExistingFileNameString,源文件名
lpNewFileNameString,目標文件名
bFailIfExistsLong,如果設為T(mén)RUE(非零),那么一旦目標文件已經(jīng)存在,則函數調用會(huì )失敗。否則目標文件被改寫(xiě)

  示例代碼如下:

‘函數聲明

Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long

Private Sub Form_Load()

 CopyFile "c:\test1.txt", "c:\test2.txt", 1

End Sub

  以上代碼將c:\test1.txt 拷貝到c:\test2.txt

  6、MoveFile, MoveFileEx

  作用:移動(dòng)文件。如dwFlags設為零,則MoveFile完全等價(jià)于MoveFileEx

  聲明形式:

Declare Function MoveFile& Lib "kernel32" Alias "MoveFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String)

Declare Function MoveFileEx& Lib "kernel32" Alias "MoveFileExA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal dwFlags As Long)

  說(shuō)明:Long,非零表示成功,零表示失敗。會(huì )設置GetLastError

  這兩個(gè)函數通常不能將文件從一個(gè)卷移動(dòng)到另一個(gè)卷。但如設置了MOVEFILE_COPY_ALLOWED標記,MoveFileEx可以做到這一點(diǎn).

  參數說(shuō)明:

參數
類(lèi)型及說(shuō)明
lpExistingFileNameString,欲移動(dòng)的文件名
lpNewFileNameString,新文件名
dwFlagsLong,一個(gè)或多個(gè)下述常數
MOVEFILE_REPLACE_EXISTING如目標文件存在,則將其替換
MOVEFILE_COPY_ALLOWED如移動(dòng)到一個(gè)不同的卷,則復制文件并刪除原來(lái)的文件
MOVEFILE_DELAY_UNTIL_REBOOT移動(dòng)操作在系統下次重新啟動(dòng)時(shí)正式進(jìn)行。這樣便可在Windows NT中改換系統文件

  示例代碼如下:

‘定義結構

Private Const MOVEFILE_COPY_ALLOWED = &H2
Private Const MOVEFILE_DELAY_UNTIL_REBOOT = &H4
Private Const MOVEFILE_REPLACE_EXISTING = &H1

‘函數聲明

Private Declare Function MoveFile& Lib "kernel32" Alias "MoveFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String)

Private Declare Function MoveFileEx& Lib "kernel32" Alias "MoveFileExA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal dwFlags As Long)

Private Sub Form_Load()
 MoveFile "c:\test.txt", "d:\test1.txt" ‘移動(dòng)文件
 MoveFileEx "d:\test1.txt", "c:\test.txt", MOVEFILE_REPLACE_EXISTING ‘再一次移動(dòng)
End Sub

  以上代碼實(shí)現了文件的移動(dòng),兩次移動(dòng)後,文件不變

  7、DeleteFile

  作用:刪除指定文件

  聲明形式:

Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (ByVal lpFileName As String) As Long

  說(shuō)明:Long,非零表示成功,零表示失敗。會(huì )設置GetLastError

  與vb的kill語(yǔ)句相似,在windows 95下使用這個(gè)函數要小心——即使文件當前正由一個(gè)應用程序打開(kāi),該函數也會(huì )將其刪除.

  參數說(shuō)明:

參數類(lèi)型及說(shuō)明
lpFileNameString,欲刪除文件的名字

  示例代碼如下:

‘函數聲明

Private Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (ByVal lpFileName As String) As Long

Private Sub Form_Load()

 DeleteFile "c:\test.txt"

End Sub

  以上代碼刪除了c:\test.txt文件

  寫(xiě)了這沒(méi)多,真的很累了,所以更希望自己的辛苦沒(méi)有白費,VB雖然是一個(gè)RAD類(lèi)的工具,并讓很多人不屑使用,但實(shí)事求是得說(shuō),VB的功能的確強大,尤其是人性化的設計,讓人愛(ài)不釋手,希望對喜愛(ài)VB的愛(ài)好者能夠對vb能產(chǎn)生一個(gè)新的認識,而不僅僅停留在對其提供的現有控件的使用。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Excel-VBA操作文件四大方法之四(2)
Windows SHELL命令在VBA使用
使用WININET的函數寫(xiě)下載功能 -- VB
VB.NET調用CHM幫助實(shí)用方法推薦
vb 搜索文件
VB - 播放WAV文件
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久