//
//
//
//
//
//
//
//
//
//
软件Tags:
易语言扇区读写源码系统结构:取物理磁盘个数,读扇区,写扇区,WriteFile,CreateFile,SetFilePointer,ReadFileD,CloseHandle,取整数指针,拷贝内存_, ======窗口程序集1 || ||------__启动窗口_创建完毕 || ||------取物理磁盘个数 || ||------读扇区 || ||------写扇区 || || ======调用的Dll || ||---[dll]------WriteFile || ||---[dll]------CreateFile || ||---[dll]------SetFilePointer || ||---[dll]------ReadFileD || ||---[dll]------CloseHandle || ||---[dll]------取整数指针 || ||---[dll]------拷贝内存_ 调用的DLL命令: .DLL命令WriteFile,整数型,"kernel32","WriteFile",,将数据写入一个文件。该函数比lwrite函数要灵活的多。也可将这个函数应用于对通信设备、管道、套接字以及邮槽的处理TRUE(非零)表示成功,否则返回零。会设置GetLastError .参数hFile,整数型,,一个文件的句柄 .参数lpBuffer,字节集,传址,要写入的一个数据缓冲区 .参数nNumberOfBytesToWrite,整数型,,要写入数据的字节数量。如写入零字节,表示什么都不写入,但会更新文件的“上一次修改时间”。针对位于远程系统的命名管道,限制在65535个字节以内 .参数lpNumberOfBytesWritten,整数型,传址,实际写入文件的字节数量 .参数lpOverlapped,整数型,,OVERLAPPED,倘若在指定FILE_FLAG_OVERLAPPED的前提下打开文件,这个参数就必须引用一个特殊的结构。那个结构定义了一次异步写操作。否则,该参数应置为空(将声明变为ByValAs并传递零值); .DLL命令CreateFile,整数型,"kernel32.dll","CreateFileA" .参数lpFileName,文本型 .参数dwDesiredAccess,整数型 .参数dwShareMode,整数型 .参数lpSecurityAttributes,整数型,,SECURITY_ATTRIBUTES结构体指针 .参数dwCreationDisposition,整数型 .参数dwFlagsAndAttributes,整数型 .参数hTemplateFile,整数型 .DLL命令SetFilePointer,整数型,"kernel32.dll","SetFilePointer" .参数hFile,整数型 .参数lDistanceToMove,整数型 .参数lpDistanceToMoveHigh,整数型 .参数dwMoveMethod,整数型 .DLL命令ReadFileD,逻辑型,"kernel32.dll","ReadFile" .参数hFile,整数型 .参数lpBuffer,字节集,传址 .参数nNumberOfBytesToRead,整数型 .参数pNumberOfBytesRead,整数型 .参数pOverlapped,整数型 .DLL命令CloseHandle,逻辑型,"kernel32.dll","CloseHandle" .参数hObject,整数型 .DLL命令取整数指针,整数型,"kernel32.dll","lstrcpynA",,用于取整数指针,巧妙利用了该API的返回值 .参数lpString1,整数型,传址 .参数lpString2,整数型,传址 .参数iMaxLength,整数型,,保留,复制长度,设置为0即可 .DLL命令拷贝内存_,整数型,"kernel32","RtlMoveMemory",,RtlMoveMemory .参数目标数据地址,字节集,,lpvDest .参数源数据,字节集,,lpvSource .参数尺寸,整数型,,cbCopy
