1. Khái quát
Khi cấu trúc của Windows được tạo ra, Microsoft có ý định tạo ra một số lớn các chức năng lập trình có giá trị cho mọi chương trình dựa trên nền Windows. Chiến thuật này phục vụ hai mục đích, cung cấp ứng dụng Windows một cái nhìn và cảm giác nhất quán cũng như khiến cho người lập trình khỏi phải sao chép lại các hàm mà đã được mã hóa và debug. Những hàm này được lưu trữ trong một dãy các thư viện liên kết động ( DLL ) và được biết như là giao diện lập trình ứng dụng (API). Từ khi phát triển thành hệ điều hành 32bit, Windows 95’ những phiên bản mới được biết đến như Win32 API. Một vài hàm trong Win32 API thì có giá trị như những lệnh Visual Basic, nhưng phần lớn thì được truy cập chỉ bằng cách gọi hàm API.
2.Các hàm API cơ bản dùng để quản lí File và Folder
2.1 Hàm truy xuất File
Ø GetLogicalDrives
Ý nghĩa: Xác định các kí tự của tất cả ổ đĩa luận lí trên hệ thống.
Khai báo:
Declare Function GetLogicalDrives Lib "kernel32" Alias "GetLogicalDrives" ( ) As
Long
Giá trị trả về: Các bit trong kết quả này chỉ định các ổ đĩa luận lí tồn tại trên hệ thống.
Ø GetDriveType
Ý nghĩa: Hàm này cho biết loại của một đĩa cụ thể cho trước. Sử dụng kèm với hàm
GetLogicalDriveStrings để biết
được loại của những đĩa do hàm GetLogicalDriveStrings tìm được.
Khai báo:
Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive
As String) As Long
| |
| |
Các hằng số:
Const DRIVE_REMOVABLE = 2
Const DRIVE_FIXED = 3
Const DRIVE_REMOTE = 4
Const DRIVE_CDROM = 5
Const DRIVE_RAMDISK = 6
Giá trị trả về: 0 nếu đĩa không thể xác định được, 1 nếu thư mục đã chỉ định
không tồn tại. Một trong số các
hằng chỉ ra loại đĩa được mô tả bên trên thì thành công.
Ø FindFirstFile
Ý nghĩa: Tìm File - Folder dựa trên tên File đã cho.
Khai báo:
Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal
lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
| |
| |
| |
Kiểu dữ liệu:
Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * MAX_PATH
cAlternate As String * 14
End Type
Giá trị trả về: Một điều quản tìm kiếm nếu thành công, INVALID_HANDLE_VALUE nếu
có lỗi. Điều quản này
nên được đóng bởi hàm FindClose khi nó không còn cần thiết.
Điều quản trả về từ hàm này được sử dụng như một tham số cho hàm FindNextFile. Điều này cho phép ta lấy tất cả các File mà được so sánh với tên File đã được chỉ định bởi tham số lpFileName.
Ø FindNextFile
Ý nghĩa: Sử dụng kết hợp với hàm FindFirstFile để tìm File kế tiếp trong đường
dẫn được chỉ ra trong hàm
FindFirstFile. Hàm này tìm File kế tiếp ngay sau File đầu tiên hoặc File sau File được tìm thấy ở lần gọi hàm FindNextFile trước đó và được gọi lại nhiều lần cho đến khi tìm ra hết tất cả các File.
Khai báo:
Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal
hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
| |
| |
| |
Giá trị trả về: True (số khác 0 nếu thành công), 0 nếu có lỗi. Thiết lập
GetLastError thành
ERROR_NO_MORE_FILES khi không còn File nào để lấy.
Ø FindClose
Ý nghĩa: Chấm dứt việc tìm File đã được gọi bởi hàm FindFirstFile.
Khai báo:
Declare Function FindClose Lib "kernel32" Alias "FindClose" (ByVal hFindFile As
Long) As Long
| |
| |
Giá trị trả về: số khác 0 nếu thành công, 0 nếu có lỗi.
Ø ExtractIcon
Ý nghĩa: Lấy một Icon trong các File.ICO,.EXE,.DLL
Khai báo:
Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst
As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long
| |
| |
| |
| |
Ø GetDiskFreeSpace
Ý nghĩa: lấy thông tin về sự tổ chức của đĩa và không gian còn trống.
Khai báo:
Private Declare Function GetDiskFreeSpace Lib "kernel32" Alias
"GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As
Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long,
lpTotalNumberOfClusters As Long) As Long
| |
| |
| |
| |
| |
| |
Giá trị trả về: Số khác 0 nếu thành công, 0 nếu có lỗi. Hàm này không nên sử
dụng trên Win ’95 cho ổ đĩa lớn
hơn 2 GB
Ø GetFileAttributes
Ý nghĩa: xác định thuộc tính của một File cụ thể.
Khai báo:
Private Declare Function GetFileAttributes Lib "kernel32" Alias
"GetFileAttributesA" (ByVal lpFileName As String) As Long
| |
| |
Hằng số:
FILE_ATTRIBUTE_ARCHIVE = &H20
FILE_ATTRIBUTE_COMPRESSED = &H800
FILE_ATTRIBUTE_DIRECTORY = &H10
FILE_ATTRIBUTE_HIDDEN = &H2
FILE_ATTRIBUTE_NORMAL = &H80
FILE_ATTRIBUTE_READONLY = &H1
FILE_ATTRIBUTE_SYSTEM = &H4
FILE_ATTRIBUTE_TEMPORARY = &H100
Giá trị trả về: -1 nếu có lỗi. Một giá trị chứa bit cờ cụ thể thuộc tính của
File với bit cờ là một hằng số.
Ø GetFileSize
Ý nghĩa: Xác định kích cỡ của File.
Khai báo:
Private Declare Function GetFileSize Lib "kernel32" Alias "GetFileSize" (ByVal
hFile As Long, lpFileSizeHigh As Long) As Long
| |
| |
| |
Giá trị trả về: Kích cỡ của File. &HFFFFFFFF nếu có lỗi. Nếu lpFileSizeHigh
không phải là Null và kết quả là
&HFFFFFFFF thì phải gọi GetLastError để xác định, nếu một lỗi thực sự xảy ra thì
giá trị này là kết quả hợp lệ.
Ø GetFileTime
Ý nghĩa: Lấy thông tin thời gian của File đã được chỉ định.
Khai báo:
Private Declare Function GetFileTime Lib "kernel32" Alias "GetFileTime" (ByVal
hFile As Long, lpCreationTime As FILETIME, lpLastAccessTime As FILETIME,
lpLastWriteTime As FILETIME) As Long
| |
| |
| |
| |
| |
Giá trị trả về: số khác 0 nếu thành công, 0 nếu có lỗi.
Ø GetLogicalDriveString
Ý nghĩa: Lấy một chuỗi chứa đường dẫn ổ đĩa gốc của tất cả ổ đĩa luận lí tồn tại
trên hệ thống.
Khai báo:
Private Declare Function GetLogicalDriveStrings Lib "kernel32" Alias
"GetLogicalDriveStringsA" (ByVal nBufferLength As Long, ByVal lpBuffer As
String) As Long
| |
| |
| |
Giá trị trả về: số kí tự được nạp vào lpBuffer (ngoại trừ kí tự Null kết thúc ).
Nếu Buffer không đủ dài để chứa
đường dẫn, giá trị trả về sẽ là kích cở của Buffer cần thiết. 0 nếu có lỗi.
No comments:
Post a Comment