'VB 6.0 版 -DA;KWYS
'这不是我写的,它更强悍了。因为可以直接读写物理扇区(CHS),而不是逻辑扇区。 n(9F:N
\?J=mE@;1
Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long H 3W_}f
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long w6%l8+{R
Private Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, ByVal lpOverlapped As Long) As Long '//declare has changed hU |LFjc
Private Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, ByVal lpOverlapped As Long) As Long '//declare has changed $cyLI+uz|
Private Declare Function SetFilePointer Lib "kernel32" (ByVal hFile As Long, ByVal lDistanceToMove As Long, lpDistanceToMoveHigh As Long, ByVal dwMoveMethod As Long) As Long A[K:/tB
'如果用绝对扇区写,那么文件的建立打开都不能用VB的 open 语句了。 XA=|]5C
B[C7G7<B
q=T<^Tk#e
Private Const GENERIC_READ = &H80000000 0m
qSA
Private Const GENERIC_WRITE = &H40000000 *4zoAs lU1
?SB
h^/zf
Private Const FILE_SHARE_READ = &H1 (L]T*03#
Private Const FILE_SHARE_WRITE = &H2 g]:..W7
Private Const OPEN_EXISTING = 3 w;@`Yi.WQ
R65;oJh
Private Const INVALID_HANDLE_VALUE = -1 4&#vU(-H
^XtHF|%0T
'//file seek 77)OW$G
Private Const FILE_BEGIN = 0 $[WN[J
Private Const FILE_CURRENT = 1 ^!N;F"
Private Const FILE_END = 2 0^-z?Kb<}
y[TaM9<
Private Const ERROR_SUCCESS = 0& 7MR:X#2v>
=9#i<te
'//device io control &p