易语言检查硬盘扇区源码
系统结构:GetHdSmart,DoIDENTIFY,DisplayIdInfo,DoGETDRIVEGEOMETRY,DoEnableSMART,DoReadAttributesCmd,DoReadThresholdsCmd,DoPrintData,GetAttrName,ChangeByteOrder,PrintIDERegs,OpenSMART,CreateFile,GetLastError,DeviceIoControl_GETVERSIONOUTPARAMS,DeviceIoControl_DISK_GEOMETRY,DeviceIoControl_SENDCMDINPARAMS,CopyMemory_Ptr2DRIVEATTRIBUTE,CopyMemory_Ptr2ATTRTHRESHOLD,CopyMemory_Ptr2IDSECTOR,CopyMemory_Ptr2SENDCMDOUTPARAMS,lstrcpyn,CloseHandle,LocalAlloc,LocalFree,GetConsoleMode,GetStdHandle,SetConsoleMode,ReadConsoleInput,
======窗口程序集1
| |
| |------ _启动子程序
| |
| |------ GetHdSmart
| |
| |------ DoIDENTIFY
| |
| |------ DisplayIdInfo
| |
| |------ DoGETDRIVEGEOMETRY
| |
| |------ DoEnableSMART
| |
| |------ DoReadAttributesCmd
| |
| |------ DoReadThresholdsCmd
| |
| |------ DoPrintData
| |
| |------ GetAttrName
| |
| |------ ChangeByteOrder
| |
| |------ PrintIDERegs
| |
| |------ OpenSMART
| |
| |
======调用的Dll
| |
| |---[dll]------ CreateFile
| |
| |---[dll]------ GetLastError
| |
| |---[dll]------ DeviceIoControl_GETVERSIONOUTPARAMS
| |
| |---[dll]------ DeviceIoControl_DISK_GEOMETRY
| |
| |---[dll]------ DeviceIoControl_SENDCMDINPARAMS
| |
| |---[dll]------ CopyMemory_Ptr2DRIVEATTRIBUTE
| |
| |---[dll]------ CopyMemory_Ptr2ATTRTHRESHOLD
| |
| |---[dll]------ CopyMemory_Ptr2IDSECTOR
| |
| |---[dll]------ CopyMemory_Ptr2SENDCMDOUTPARAMS
| |
| |---[dll]------ lstrcpyn
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ LocalAlloc
| |
| |---[dll]------ LocalFree
| |
| |---[dll]------ GetConsoleMode
| |
| |---[dll]------ GetStdHandle
| |
| |---[dll]------ SetConsoleMode
| |
| |---[dll]------ ReadConsoleInput
调用的DLL命令:
.DLL命令 CreateFile, 整数型, "kernel32.dll", "CreateFileA"
.参数 lpFileName, 文本型
.参数 dwDesiredAccess, 整数型
.参数 dwShareMode, 整数型
.参数 lpSecurityAttributes, 整数型
.参数 dwCreationDisposition, 整数型
.参数 dwFlagsAndAttributes, 整数型
.参数 hTemplateFile, 整数型
.DLL命令 GetLastError, 整数型, "kernel32.dll", "GetLastError"
.DLL命令 DeviceIoControl_GETVERSIONOUTPARAMS, 整数型, "kernel32.dll", "DeviceIoControl"
.参数 hDevice, 整数型
.参数 dwIoControlCode, 整数型
.参数 lpInBuffer, 整数型, 传址
.参数 nInBufferSize, 整数型
.参数 lpOutBuffer, GETVERSIONOUTPARAMS
.参数 nOutBufferSize, 整数型
.参数 lpBytesReturned, 整数型, 传址
.参数 lpOverlapped, 整数型
.DLL命令 DeviceIoControl_DISK_GEOMETRY, 整数型, "kernel32.dll", "DeviceIoControl"
.参数 hDevice, 整数型
.参数 dwIoControlCode, 整数型
.参数 lpInBuffer, 整数型, 传址
.参数 nInBufferSize, 整数型
.参数 lpOutBuffer, DISK_GEOMETRY, 传址
.参数 nOutBufferSize, 整数型
.参数 lpBytesReturned, 整数型, 传址
.参数 lpOverlapped, 整数型
.DLL命令 DeviceIoControl_SENDCMDINPARAMS, 整数型, "kernel32.dll", "DeviceIoControl"
.参数 hDevice, 整数型
.参数 dwIoControlCode, 整数型
.参数 lpInBuffer, SENDCMDINPARAMS, 传址
.参数 nInBufferSize, 整数型
.参数 lpOutBuffer, 整数型
.参数 nOutBufferSize, 整数型
.参数 lpBytesReturned, 整数型, 传址
.参数 lpOverlapped, 整数型
.DLL命令 CopyMemory_Ptr2DRIVEATTRIBUTE, , "kernel32.dll", "RtlMoveMemory"
.参数 pDest, DRIVEATTRIBUTE
.参数 pSrc, 整数型
.参数 ByteLen, 整数型
.DLL命令 CopyMemory_Ptr2ATTRTHRESHOLD, , "kernel32.dll", "RtlMoveMemory"
.参数 pDest, ATTRTHRESHOLD
.参数 pSrc, 整数型
.参数 ByteLen, 整数型
.DLL命令 CopyMemory_Ptr2IDSECTOR, , "kernel32.dll", "RtlMoveMemory"
.参数 pDest, _IDINFO
.参数 pSrc, 整数型
.参数 ByteLen, 整数型
.DLL命令 CopyMemory_Ptr2SENDCMDOUTPARAMS, , "kernel32.dll", "RtlMoveMemory"
.参数 pDest, SENDCMDOUTPARAMS
.参数 pSrc, 整数型
.参数 ByteLen, 整数型
.DLL命令 lstrcpyn, 整数型, "kernel32.dll", "lstrcpynA"
.参数 lpString1, 文本型
.参数 lpString2, 字节型, 传址 数组
.参数 iMaxLength, 整数型
.DLL命令 CloseHandle, 整数型, "kernel32.dll", "CloseHandle"
.参数 hObject, 整数型
.DLL命令 LocalAlloc, 整数型, "kernel32.dll", "LocalAlloc"
.参数 wFlags, 整数型
.参数 wBytes, 整数型
.DLL命令 LocalFree, 整数型, "kernel32.dll", "LocalFree"
.参数 hMem, 整数型
.DLL命令 GetConsoleMode, 整数型, "kernel32.dll", "GetConsoleMode"
.参数 hConsoleHandle, 整数型
.参数 lpMode, 整数型
.DLL命令 GetStdHandle, 整数型, "kernel32.dll", "GetStdHandle"
.参数 nStdHandle, 整数型
.DLL命令 SetConsoleMode, 整数型, "kernel32.dll", "SetConsoleMode"
.参数 hConsoleHandle, 整数型
.参数 dwMode, 整数型
.DLL命令 ReadConsoleInput, 整数型, "kernel32.dll", "ReadConsoleInputA"
.参数 hConsoleInput, 整数型
.参数 lpBuffer, 字节型, 数组
.参数 nLength, 整数型
.参数 lpNumberOfEventsRead, 整数型, 传址
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。