请问程序如何获取硬盘wwn号是什么。

怎样查看哪个程序正在读电脑硬盘?
按时间排序
在任务栏上点击右键,选择启动任务管理器。或者按下组合键Ctrl + Shift + Esc 直接调出任务管理器。
在任务管理器上选择“性能”,然后在右下角,点击“资源监视器”。打开资源监视器,可以监控计箅机系统资源的使用情况,可以随时了解当前计算机的运行情况,如:哪些应用使计算机变得缓慢。
点击“磁盘”,然后你就可以在“磁盘活动的进程”中看到正在执行读写磁盘的程序了。在下方点击“磁盘活动”,你也可以看到磁盘上各进程的活动。担心某个软件在后台胡作非为?睁开眼睛看清楚把它找出来吧。
当然,你可以在“磁盘活动额进程”中点击“写(字节/秒)”,按写入字节的多少进行排列。这样你就可以看到写磁盘字节数最多的程序啦。观察一下经常读写磁盘的程序与进程,如果觉得该进程很奇怪,就去百度一下进程名字吧。
如果你觉得某个程序很可疑,那就在该程序的前面勾选上吧。这样该程序就会置顶显示,而且你还可以在“磁盘活动”中看到该进程正在读写的文件路径。你就可以一清二楚地看到该程序的所有读出写入操作啦。
方法如下:
方法如下:
感谢您为社区的和谐贡献力量请选择举报类型
经过核实后将会做出处理感谢您为社区和谐做出贡献
确定要取消此次报名,退出该活动?查看: 2391|回复: 4
怎样能获取硬盘的序号格式为
阅读权限50
在线时间 小时
怎样能获取硬盘的序号格式为 &4LS4GLHB&
请修改下面 红色部分的代码 怎样能获取硬盘的序号 格式为&&&4LS4GLHB&
Sub Auto_Open()
& & Dim fs, d, s
& & Set fs = CreateObject(&Scripting.FileSystemObject&)
& & Set d = fs.GetDrive(fs.GetDriveName(fs.GetAbsolutePathName(ThisWorkbook.Path)))&&
&&s = d.serialnumber& & '磁盘序列号
&&If s = &4LS4GLHB& Then Exit Sub& &&&' 要使用的电脑磁盘序列号
& & Dim FirstDate, de, days
& & FirstDate = Date
& & de = GetSetting(&XXX&, &YYY&, &date&, &&)&&'从注册表取值
& & If de = && Then& &'如果取不到值
& && &&&SaveSetting &XXX&, &YYY&, &date&, FirstDate&&'把日期保存到注册表
& && &&&MsgBox &本文件可使用60天,今天是第1次使用&, , &提示&
& && &&&days = Date - CDate(de)&&'计算文件使用的天数
& && &&&If days & 60 Then& & '如果文件使用超过60天
& && && && &MsgBox &已超过使用期限,本文件将自杀&, , &警告&
& && && && &ThisWorkbook.ChangeFileAccess xlReadOnly&&'改为只读属性
& && && && &Kill ThisWorkbook.FullName&&'自杀
& && && && &ThisWorkbook.Close False&&'关闭不保存
& && &&&End If
& && &&&MsgBox &本文件已使用& & days & &天,还有& & 60 - days & &天可使用&, , &提示&
& & End If
09:31 上传
点击文件名下载附件
51.25 KB, 下载次数: 88
阅读权限150
在线时间 小时
& & & & & & & &
阅读权限50
在线时间 小时
回复 2楼 LangQueS 的帖子
请老师帮忙 精简以下代码
Private Const MAX_IDE_DRIVES As Long = 4& &' Max number of drives assuming primary/secondary, master/slave topology
Private Const READ_ATTRIBUTE_BUFFER_SIZE As Long = 512
Private Const IDENTIFY_BUFFER_SIZE As Long = 512
Private Const READ_THRESHOLD_BUFFER_SIZE As Long = 512
Private Const DFP_GET_VERSION As Long = &H74080
Private Const DFP_SEND_DRIVE_COMMAND As Long = &H7C084
Private Const DFP_RECEIVE_DRIVE_DATA As Long = &H7C088
Private Type GETVERSIONOUTPARAMS
& & bVersion As Byte& && & ' Binary driver version.
& & bRevision As Byte& && &' Binary driver revision.
& & bReserved As Byte& && &' Not used.
& & bIDEDeviceMap As Byte&&' Bit map of IDE devices.
& & fCapabilities As Long&&' Bit mask of driver capabilities.
& & dwReserved(3) As Long&&' For future use.
Private Const CAP_IDE_ID_FUNCTION As Long = 1& && && && && &' ATA ID command supported
Private Const CAP_IDE_ATAPI_ID As Long = 2& && && && && && &' ATAPI ID command supported
Private Const CAP_IDE_EXECUTE_SMART_FUNCTION As Long = 4& & ' SMART commannds supported
Private Type IDEREGS
& & bFeaturesReg As Byte& && & ' Used for specifying SMART &commands&.
& & bSectorCountReg As Byte& & ' IDE sector count register
& & bSectorNumberReg As Byte& &' IDE sector number register
& & bCylLowReg As Byte& && && &' IDE low order cylinder value
& & bCylHighReg As Byte& && &&&' IDE high order cylinder value
& & bDriveHeadReg As Byte& && &' IDE drive/head register
& & bCommandReg As Byte& && &&&' Actual IDE command.
& & bReserved As Byte& && && & ' reserved for future use.&&Must be zero.
Private Type SENDCMDINPARAMS
& & cBufferSize As Long& && &&&' Buffer size in bytes
& & irDriveRegs As IDEREGS& &&&' Structure with drive register values.
& & bDriveNumber As Byte& && & ' Physical drive number to send
& & ' command to (0,1,2,3).
& & bReserved(2) As Byte& && & ' Reserved for future expansion.
& & dwReserved(3) As Long& && &' For future use.
& & bBuffer(0) As Byte& && && &' Input buffer.
Private Const IDE_ATAPI_ID As Long = &HA1&&' Returns ID sector for ATAPI.
Private Const IDE_ID_FUNCTION As Long = &HEC&&' Returns ID sector for ATA.
Private Const IDE_EXECUTE_SMART_FUNCTION As Long = &HB0&&' Performs SMART cmd.
Private Const SMART_CYL_LOW As Long = &H4F
Private Const SMART_CYL_HI As Long = &HC2
Private Type DRIVERSTATUS
& & bDriverError As Byte& && & ' Error code from driver,
& & bIDEStatus As Byte& && && &' Contents of IDE Error register.
& & bReserved(1) As Byte& && & ' Reserved for future expansion.
& & dwReserved(1) As Long& && &' Reserved for future expansion.
Private Const SMART_NO_ERROR As Long = 0&&' No error
Private Const SMART_IDE_ERROR As Long = 1&&' Error from IDE controller
Private Const SMART_INVALID_FLAG As Long = 2&&' Invalid command flag
Private Const SMART_INVALID_COMMAND As Long = 3&&' Invalid command byte
Private Const SMART_INVALID_BUFFER As Long = 4&&' Bad buffer (null, invalid addr..)
Private Const SMART_INVALID_DRIVE As Long = 5&&' Drive number not valid
Private Const SMART_INVALID_IOCTL As Long = 6& &' Invalid IOCTL
Private Const SMART_ERROR_NO_MEM As Long = 7&&' Could not lock user's buffer
Private Const SMART_INVALID_REGISTER As Long = 8&&' Some IDE Register not valid
Private Const SMART_NOT_SUPPORTED As Long = 9&&' Invalid cmd flag set
Private Const SMART_NO_IDE_DEVICE As Long = 10 ' Cmd issued to device not present
Private Type SENDCMDOUTPARAMS
& & cBufferSize As Long& && &&&' Size of bBuffer in bytes
& & drvStatus As DRIVERSTATUS&&' Driver status structure.
& & bBuffer(0) As Byte& && && &' Buffer of arbitrary length in which to store the data read from the& && && && && && && && && && && && && && &' drive.
Private Const SMART_READ_ATTRIBUTE_VALUES As Long = &HD0& & ' ATA4: Renamed
Private Const SMART_READ_ATTRIBUTE_THRESHOLDS As Long = &HD1& & ' Obsoleted in ATA4!
Private Const SMART_ENABLE_DISABLE_ATTRIBUTE_AUTOSAVE As Long = &HD2
Private Const SMART_SAVE_ATTRIBUTE_VALUES As Long = &HD3
Private Const SMART_EXECUTE_OFFLINE_IMMEDIATE As Long = &HD4& & ' ATA4
Private Const SMART_ENABLE_SMART_OPERATIONS As Long = &HD8
Private Const SMART_DISABLE_SMART_OPERATIONS As Long = &HD9
Private Const SMART_RETURN_SMART_STATUS As Long = &HDA
Private Type DRIVEATTRIBUTE
& & bAttrID As Byte& && &&&' Identifies which attribute
& & wStatusFlags As Integer& & ' see bit definitions below
& & bAttrValue As Byte& &&&' Current normalized value
& & bWorstValue As Byte& & ' How bad has it ever been?
& & bRawValue(5) As Byte& &' Un-normalized value
& & bReserved As Byte& && &' ...
Private Type ATTRTHRESHOLD
& & bAttrID As Byte& && && && &' Identifies which attribute
& & bWarrantyThreshold As Byte ' Triggering value
& & bReserved(9) As Byte& && &' ...
Private Type IDSECTOR
& & wGenConfig As Integer
& & wNumCyls As Integer
& & wReserved As Integer
& & wNumHeads As Integer
& & wBytesPerTrack As Integer
& & wBytesPerSector As Integer
& & wSectorsPerTrack As Integer
& & wVendorUnique(2) As Integer
& & sSerialNumber(19) As Byte
& & wBufferType As Integer
& & wBufferSize As Integer
& & wECCSize As Integer
& & sFirmwareRev(7) As Byte
& & sModelNumber(39) As Byte
& & wMoreVendorUnique As Integer
& & wDoubleWordIO As Integer
& & wCapabilities As Integer
& & wReserved1 As Integer
& & wPIOTiming As Integer
& & wDMATiming As Integer
& & wBS As Integer
& & wNumCurrentCyls As Integer
& & wNumCurrentHeads As Integer
& & wNumCurrentSectorsPerTrack As Integer
& & ulCurrentSectorCapacity(3) As Byte& & '这里只能用byte,因为VB没有无符号的LONG型变量
& & wMultSectorStuff As Integer
& & ulTotalAddressableSectors(3) As Byte& &'这里只能用byte,因为VB没有无符号的LONG型变量
& & wSingleWordDMA As Integer
& & wMultiWordDMA As Integer
& & bReserved(127) As Byte
Private Const ATTR_INVALID As Long = 0
Private Const ATTR_READ_ERROR_RATE As Long = 1
Private Const ATTR_THROUGHPUT_PERF As Long = 2
Private Const ATTR_SPIN_UP_TIME As Long = 3
Private Const ATTR_START_STOP_COUNT As Long = 4
Private Const ATTR_REALLOC_SECTOR_COUNT As Long = 5
Private Const ATTR_READ_CHANNEL_MARGIN As Long = 6
Private Const ATTR_SEEK_ERROR_RATE As Long = 7
Private Const ATTR_SEEK_TIME_PERF As Long = 8
Private Const ATTR_POWER_ON_HRS_COUNT As Long = 9
Private Const ATTR_SPIN_RETRY_COUNT As Long = 10
Private Const ATTR_CALIBRATION_RETRY_COUNT As Long = 11
Private Const ATTR_POWER_CYCLE_COUNT As Long = 12
Private Const PRE_FAILURE_WARRANTY As Long = &H1
Private Const ON_LINE_COLLECTION As Long = &H2
Private Const PERFORMANCE_ATTRIBUTE As Long = &H4
Private Const ERROR_RATE_ATTRIBUTE As Long = &H8
Private Const EVENT_COUNT_ATTRIBUTE As Long = &H10
Private Const SELF_PRESERVING_ATTRIBUTE As Long = &H20
Private Const NUM_ATTRIBUTE_STRUCTS As Long = 30
Private Const INVALID_HANDLE_VALUE As Long = -1
Private Const VER_PLATFORM_WIN32s As Long = 0
Private Const VER_PLATFORM_WIN32_WINDOWS As Long = 1
Private Const VER_PLATFORM_WIN32_NT As Long = 2
Private Type OSVERSIONINFO
& & dwOSVersionInfoSize As Long
& & dwMajorVersion As Long
& & dwMinorVersion As Long
& & dwBuildNumber As Long
& & dwPlatformId As Long
& & szCSDVersion As String * 128& && &'&&Maintenance string for PSS usage
Private Const CREATE_NEW As Long = 1
Private Const GENERIC_READ As Long = &H
Private Const GENERIC_WRITE As Long = &H
Private Const FILE_SHARE_READ As Long = &H1
Private Const FILE_SHARE_WRITE As Long = &H2
Private Const OPEN_EXISTING&&As Long = 3
Private m_DiskInfo As IDSECTOR
Private Declare Function GetVersionEx Lib &kernel32& Alias &GetVersionExA& (lpVersionInformation As OSVERSIONINFO) As Long
Private Declare Function CreateFile Lib &kernel32& Alias &CreateFileA& (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Private Declare Function DeviceIoControl Lib &kernel32& (ByVal hDevice As Long, ByVal dwIoControlCode As Long, lpInBuffer As Any, ByVal nInBufferSize As Long, lpOutBuffer As Any, ByVal nOutBufferSize As Long, lpBytesReturned As Long, ByVal lpOverlapped As Long) As Long
Private Declare Function CloseHandle Lib &kernel32& (ByVal hObject As Long) As Long
Private Declare Sub CopyMemory Lib &kernel32& Alias &RtlMoveMemory& (Destination As Any, Source As Any, ByVal Length As Long)
Private Declare Function GetVolumeInformation Lib &kernel32& Alias &GetVolumeInformationA& (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long
'信息类型枚举
Enum eumInfoType
& & hdmodelsn = 0
& & hdOnlyModel = 1
& & hdOnlySN = 2
'磁盘通道枚举
Enum eumDiskNo
& & hdPrimaryMaster = 0
& & hdPrimarySlave = 1
& & hdSecondaryMaster = 2
& & hdSecondarySlave = 3
'取得逻辑盘序列号(非唯一)
Function GetDiskVolume(Optional ByVal strDiskName = &C&) As String
& & Dim TempStr1 As String * 256, TempStr2 As String * 256
& & Dim TempLon1 As Long, TempLon2 As Long, GetVal As Long
& & Dim tmpVol As String
& & Call GetVolumeInformation(strDiskName & &:\&, TempStr1, 256, GetVal, TempLon1, TempLon2, TempStr2, 256)
& & If GetVal = 0 Then
& && &&&tmpVol = &&
& && &&&tmpVol = Hex(GetVal)
& && &&&tmpVol = String(8 - Len(tmpVol), &0&) & tmpVol
& && &&&tmpVol = Left(tmpVol, 4) & &-& & Right(tmpVol, 4)
& & End If
& & GetDiskVolume = tmpVol
End Function
'取得硬盘信息:型号/物理系列号(唯一)
Function GetHardDiskInfo(Optional ByVal numDisk As eumDiskNo = hdPrimaryMaster, Optional ByVal numType As eumInfoType = hdOnlySN) As String
& & If GetDiskInfo(numDisk) = 1 Then
& && &&&Dim pSerialNumber As String, pModelNumber As String
& && &&&pSerialNumber = StrConv(m_DiskInfo.sSerialNumber, vbUnicode)
& && &&&pModelNumber = StrConv(m_DiskInfo.sModelNumber, vbUnicode)
& && &&&Select Case numType
& && && && &Case hdOnlyModel&&'仅型号
& && && && && & GetHardDiskInfo = Trim(pModelNumber)
& && && && &Case hdOnlySN&&'仅系列号
& && && && && & GetHardDiskInfo = Trim(pSerialNumber)
& && && && &Case Else& &'型号,系列号
& && && && && & GetHardDiskInfo = Trim(pModelNumber) & &,& & Trim(pSerialNumber)
& && &&&End Select
& &&&End If
End Function
Private Function OpenSMART(ByVal nDrive As Byte) As Long
&&Dim hSMARTIOCTL As Long
&&Dim hd As String
&&Dim VersionInfo As OSVERSIONINFO
& & hSMARTIOCTL = INVALID_HANDLE_VALUE
& & VersionInfo.dwOSVersionInfoSize = Len(VersionInfo)
& & GetVersionEx VersionInfo
& & Select Case VersionInfo.dwPlatformId
& && &Case VER_PLATFORM_WIN32s
& && &&&OpenSMART = hSMARTIOCTL
& && &Case VER_PLATFORM_WIN32_WINDOWS
& && &&&hSMARTIOCTL = CreateFile(&\\.\SMARTVSD&, 0, 0, 0, CREATE_NEW, 0, 0)
& && &Case VER_PLATFORM_WIN32_NT
& && &&&If nDrive & MAX_IDE_DRIVES Then
& && && && &hd = &\\.\PhysicalDrive& & nDrive
& && && && &hSMARTIOCTL = CreateFile(hd, GENERIC_READ Or GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0)
& && &&&End If
& & End Select
& & OpenSMART = hSMARTIOCTL
End Function
Private Function DoIDENTIFY(ByVal hSMARTIOCTL As Long, pSCIP As SENDCMDINPARAMS, pSCOP() As Byte, ByVal bIDCmd As Byte, ByVal bDriveNum As Byte, lpcbBytesReturned As Long) As Boolean
& & pSCIP.cBufferSize = IDENTIFY_BUFFER_SIZE
& & pSCIP.irDriveRegs.bFeaturesReg = 0
& & pSCIP.irDriveRegs.bSectorCountReg = 1
& & pSCIP.irDriveRegs.bSectorNumberReg = 1
& & pSCIP.irDriveRegs.bCylLowReg = 0
& & pSCIP.irDriveRegs.bCylHighReg = 0
& & pSCIP.irDriveRegs.bDriveHeadReg = &HA0 Or ((bDriveNum And 1) * 2 ^ 4)
& & pSCIP.irDriveRegs.bCommandReg = bIDCmd
& & pSCIP.bDriveNumber = bDriveNum
& & pSCIP.cBufferSize = IDENTIFY_BUFFER_SIZE
& &DoIDENTIFY = CBool(DeviceIoControl(hSMARTIOCTL, DFP_RECEIVE_DRIVE_DATA, _
& && && && && &&&pSCIP, 32, _
& && && && && &&&pSCOP(0), 528, _
& && && && && &&&lpcbBytesReturned, 0))
End Function
Private Function DoEnableSMART(ByVal hSMARTIOCTL As Long, pSCIP As SENDCMDINPARAMS, pSCOP As SENDCMDOUTPARAMS, ByVal bDriveNum As Byte, lpcbBytesReturned As Long) As Boolean
& & pSCIP.cBufferSize = 0
& & pSCIP.irDriveRegs.bFeaturesReg = SMART_ENABLE_SMART_OPERATIONS
& & pSCIP.irDriveRegs.bSectorCountReg = 1
& & pSCIP.irDriveRegs.bSectorNumberReg = 1
& & pSCIP.irDriveRegs.bCylLowReg = SMART_CYL_LOW
& & pSCIP.irDriveRegs.bCylHighReg = SMART_CYL_HI
& & pSCIP.irDriveRegs.bDriveHeadReg = &HA0 Or ((bDriveNum And 1) * 2 ^ 4)
& & pSCIP.irDriveRegs.bCommandReg = IDE_EXECUTE_SMART_FUNCTION
& & pSCIP.bDriveNumber = bDriveNum
& & DoEnableSMART = CBool(DeviceIoControl(hSMARTIOCTL, DFP_SEND_DRIVE_COMMAND, _
& && && && && && &&&pSCIP, LenB(pSCIP) - 1, _
& && && && && && &&&pSCOP, LenB(pSCOP) - 1, _
& && && && && && &&&lpcbBytesReturned, 0))
End Function
'---------------------------------------------------------------------
'---------------------------------------------------------------------
Private Sub ChangeByteOrder(szString() As Byte, ByVal uscStrSize As Integer)
&&Dim i As Integer
&&Dim bTemp As Byte
& & For i = 0 To uscStrSize - 1 Step 2
& && &&&bTemp = szString(i)
& && &&&szString(i) = szString(i + 1)
& && &&&szString(i + 1) = bTemp
& & Next i
Private Sub DisplayIdInfo(pids As IDSECTOR, pSCIP As SENDCMDINPARAMS, ByVal bIDCmd As Byte, ByVal bDfpDriveMap As Byte, ByVal bDriveNum As Byte)
& & ChangeByteOrder pids.sModelNumber, UBound(pids.sModelNumber) + 1
& & ChangeByteOrder pids.sFirmwareRev, UBound(pids.sFirmwareRev) + 1
& & ChangeByteOrder pids.sSerialNumber, UBound(pids.sSerialNumber) + 1
Public Function GetDiskInfo(ByVal nDrive As Byte) As Long
&&Dim hSMARTIOCTL As Long
&&Dim cbBytesReturned As Long
&&Dim VersionParams As GETVERSIONOUTPARAMS
&&Dim scip As SENDCMDINPARAMS
&&Dim scop() As Byte
&&Dim OutCmd As SENDCMDOUTPARAMS
&&Dim bDfpDriveMap As Byte
&&Dim bIDCmd As Byte& && && && && && &&&' IDE or ATAPI IDENTIFY cmd
&&Dim uDisk As IDSECTOR
& & m_DiskInfo = uDisk
& & hSMARTIOCTL = OpenSMART(nDrive)
& & If hSMARTIOCTL && INVALID_HANDLE_VALUE Then
& && &&&Call DeviceIoControl(hSMARTIOCTL, DFP_GET_VERSION, ByVal 0, 0, VersionParams, Len(VersionParams), cbBytesReturned, 0)
& && &&&If Not (VersionParams.bIDEDeviceMap \ 2 ^ nDrive And &H10) Then
& && && && &If DoEnableSMART(hSMARTIOCTL, scip, OutCmd, nDrive, cbBytesReturned) Then
& && && && && & bDfpDriveMap = bDfpDriveMap Or 2 ^ nDrive
& && && && &End If
& && &&&End If
& && &&&bIDCmd = IIf((VersionParams.bIDEDeviceMap \ 2 ^ nDrive And &H10), IDE_ATAPI_ID, IDE_ID_FUNCTION)
& && &&&ReDim scop(LenB(OutCmd) + IDENTIFY_BUFFER_SIZE - 1) As Byte
& && &&&If DoIDENTIFY(hSMARTIOCTL, scip, scop, bIDCmd, nDrive, cbBytesReturned) Then
& && && && &CopyMemory m_DiskInfo, scop(LenB(OutCmd) - 4), LenB(m_DiskInfo)
& && && && &Call DisplayIdInfo(m_DiskInfo, scip, bIDCmd, bDfpDriveMap, nDrive)
& && && && &CloseHandle hSMARTIOCTL
& && && && &GetDiskInfo = 1
& && && && &Exit Function '&---& Bottom
& && &&&End If
& && &&&CloseHandle hSMARTIOCTL
& && &&&GetDiskInfo = 0
& && &Else 'NOT HSMARTIOCTL...
& && &&&GetDiskInfo = -1
& & End If
End Function
阅读权限20
在线时间 小时
正需要!收藏
阅读权限30
在线时间 小时
qhllqhll 发表于
请老师帮忙 精简以下代码
Private Const MAX_IDE_DRIVES As Long = 4& &' Max number of drives ass ...
这是网上强人写的代码,没法精简。
最新热点 /1
ExcelHome每周都有线上直播公开课,
国内一流讲师真身分享,高手贴身答疑,
赶不上直播还能看录像,
关键居然是免费的!
厚木哥们都已经这么努力了,
你还好意思说学不好Office。
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师网站已改版,请使用新地址访问:
GetHDisk 通过MFC编程获取硬盘ID号,实现唯一机器码 Tools 磁盘
238万源代码下载- www.pudn.com
&文件名称: GetHDisk
& & & & &&]
&&所属分类:
&&开发工具: Visual C++
&&文件大小: 2196 KB
&&上传时间:
&&下载次数: 56
&&提 供 者:
&详细说明:通过MFC编程获取硬盘ID号,实现唯一机器码-MFC programming access to the hard disk ID number, only machine code
&[]:纯粹是垃圾
&近期下载过的用户:
&相关搜索:
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - h264播放器,可供h264标准研究
h264播放器,可供h264标准研究
&[] - stupid, but also nice game.
&[] - 不破坏硬盘数据的重新划分硬盘分区的程序
&[] - 读硬盘序列号!(不错的)
&[] - 获取cpuid的dll dll dll
&[] - 得到磁盘信息的程序,界面非常漂亮
&[] - 磁盘信息获取
要求:用Windows API中有关调用获取系统中磁盘的各种信息(类型、逻辑驱动器、卷标、剩余空间)。
&[] - 获取硬盘id号。想为自己的软件编写序列号保护的朋友们可以参考一下 :)
&[] - 读取硬盘序列号源代码,包括IDE和SCSI硬盘
用VC6.0开发环境
&[] - 获取硬盘序列号VC源码java怎么写一个程序读取计算机的所有磁盘_百度知道
java怎么写一个程序读取计算机的所有磁盘
已代码形似表现出来 或者浏览本地磁盘 我想做的效果就是 检测所有磁盘 进行文件查找 可以全盘 也可以单单选择一个盘
我有更好的答案
S roots.length、文件,就是这个思路、文件。同时如果是文件夹递归读取里面的文件夹File[] roots = File.listRoots();for (int i =0; i &lt,获取所有盘符。
查找文件时需要读取该盘符的所有文件夹.println(roots[i]);}放入main里执行就知道.out
采纳率:53%
来自团队:
为您推荐:
其他类似问题
您可能关注的内容
磁盘的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。关于C语言程序在一个固定电脑中运行,读取硬盘序列号的问题_百度知道
关于C语言程序在一个固定电脑中运行,读取硬盘序列号的问题
请问,我有一个可执行C语言程序,想在一个固定电脑中运行,想读取硬盘序列号,怎么能做到呀?如果还有其他办法能运行在一个固定的电脑中也可以。
我有更好的答案
为了要有艺术新创:纪伯伦我就会从这里消失。她目光越过他肩膀协奏曲之四 把时空定格在记忆的霎一么哈哈
采纳率:92%
TCPUID读CPU ID吧..4] of Lfunction GetCPUID ;
for I := Low(CPUID) to High(CPUID) do writeln(CPUID[I])。我的DELPHI程序是如下的代码获取CPU ID的,1
{CPUID Command}
{CPUID[1]}
{CPUID[2]}
{CPUID[3]}
{CPUID[4]}
EDI{Restore registers}
EBX上面定义了数据类型和函数:= -1;
CPUID:= GetCPUID,下面是函数使用的例子:var
CPUID: TCPUID:begin
for I := Low(CPUID) to High(CPUID) do CPUID[I] ;asm
{Save affected register}
EAX,你的C如果支持嵌入汇编的话:type
= array[1,你可以参考,那个比较不容易破解
本回答被网友采纳
,DStr+i*4);&#47,char chDriveInfo[][256])///
DType = GetDriveType(drivers);//
char *DStr=new char[DSLength];通过位运算的右移操作保证每循环一次所检查的位置向右移动一位;/Sleep(10);
char strtemp[100]={0};//
if (*dwNum & DiskCount)
DWORD DiskInfo = GetLogicalDrives(),可以成功获得硬盘驱动器的信息,希望能帮到您void CGetdiskinfo(DWORD *dwN/利用GetLogicalDrives()函数可以获取系统中逻辑驱动器的数量,函数返回的是一个32位无符号整型数据;
drivers[1]=',DSLength);/通过位运算的逻辑与操作,判断是否为1
/通过GetLogicalDriveStrings将字符串信息复制到堆区数组中,其中保存了所有驱动器的信息。
GetLogicalDriveStrings(DSLength,(LPSTR)DStr);
//NULL,所以DSLength/
char strFreeBytes[100],avalueBytes[100],0;/ strcpy(drivers,strtemp);++i)
//将磁盘分区数量保存
//-------------------------------------------------------------------//
/4可以获得具体大循环范围
for(int i=0:\NULLC:\
drivers[0]='A';
unsigned __int64 i64TotalB
unsigned __int64 i64FreeB
unsigned __int64 freenum=0;/string strdriver = (string)DStr +
drivers[2]='\///通过GetLogicalDriveStrings()函数获取所有驱动器字符串信息长度
int DSLength = GetLogicalDriveStrings(0,NULL);
*dwNum = DiskC&#47,由于DStr内部数据格式是A:\
memset(DStr之前收集的获取硬盘信息的函数语言是C++;/读取各驱动器信息;//
char strTmp[100],strTotalBytes[100];
unsigned __int64 i64FreeBytesToC//0'
BOOL fResult:';///char strdriver[4]={0};
strcpy(drivers。*&#47,&quot,DStr+i*4),&实际的磁盘数目大于dwNum
//本地磁盘 &);
i&DSLength/GetDriveType函数,可以获取驱动器类型,参数为驱动器的根目录(LPCSTR)
switch (DType)
case DRIVE_FIXED:
strcpy(strT/ WCHAR* DStr = new WCHAR[DSLength];
case DRIVE_CDROM:
strcpy(strTmp,如果为1则磁盘为真,IntToStr((i*4)));
///strcpy(drivers,DStr);&#47,&%d& strcat(
/获取硬盘信息{DWORD DiskCount = 0;
/&#47,&DVD驱动器 &);
case DRIVE_REMOVABLE:
strcpy(strTmp,&可移动磁盘 &);
case DRIVE_REMOTE:
strcpy(strTmp,&网络磁盘 &);
case DRIVE_RAMDISK:
strcpy(strTmp,&虚拟RAM磁盘 &);
case DRIVE_UNKNOWN:
strcpy(strTmp,&虚拟RAM未知设备 &);
case DRIVE_NO_ROOT_DIR:
strcpy(strTmp,&未挂载&);
strcpy(strTmp,&未知设备 &);
//GetDiskFreeSpaceEx函数,可以获取驱动器磁盘的空间状态,函数返回的是个BOOL类型数据strdriver
nPreErrorMode
= SetErrorMode(SEM_FAILCRITICALERRORS);
FARPROC pGetDiskFreeSpaceEx = GetProcAddress( GetModuleHandle(&kernel32.dll&),&GetDiskFreeSpaceExA&);
if (pGetDiskFreeSpaceEx){fResult = GetDiskFreeSpaceEx (drivers,(PULARGE_INTEGER)&i64FreeBytesToCaller,(PULARGE_INTEGER)&i64TotalBytes,(PULARGE_INTEGER)&i64FreeBytes);
// Process GetDiskFreeSpaceEx results./*}else {fResult = GetDiskFreeSpace (strdriver, &dwSectPerClust, &dwBytesPerSect,&dwFreeClusters, &dwTotalClusters);*/
// Process GetDiskFreeSpace results./*****************
fResult = GetDiskFreeSpaceEx (strdriver,
(PULARGE_INTEGER)&i64FreeBytesToCaller,
(PULARGE_INTEGER)&i64TotalBytes,
(PULARGE_INTEGER)&i64FreeBytes);
**************/if(fResult)
totalnum+=i64TotalBfreenum+=i64FreeBytesToCchar str2[50];long double tsmd=0;tsmd=(__int64)i64TotalBytes/;sprintf(str2,&%.2lf&,tsmd);//strcpy(str2,IntToStr(tsmd));strcpy(strTotalBytes,&磁盘总容量 &);strcat(strTotalBytes,str2);strcat(strTotalBytes, & MB &);tsmd=(__int64) i64FreeBytesToCaller/;sprintf(str2,&%.2lf&,tsmd);//strcpy(str2,IntToStr(tsmd));strcpy(strFreeBytes,&可用空间&);strcat(strFreeBytes,str2);strcat(strFreeBytes, & MB &);tsmd=(__int64)i64TotalBytes/ - (__int64)i64FreeBytes/;sprintf(str2,&%.2lf&,tsmd);strcpy(avalueBytes,&已用空间&);strcat(avalueBytes,str2);strcat(avalueBytes,& MB &);}
strTotalBytes[0]='\0';
strFreeBytes[0]='\0';
avalueBytes[0]='\0';}
strcpy(chDriveInfo[i] ,strTmp);strcat(chDriveInfo[i], drivers);strcat(chDriveInfo[i], strTotalBytes);strcat(chDriveInfo[i],&
&);strcat(chDriveInfo[i],strFreeBytes);
strcat(chDriveInfo[i],&
&);strcat(chDriveInfo[i],avalueBytes);si+=4;
}else{if(::GetLastError()
21) { printf( &设置未就绪!\n &) ; } }SetErrorMode(nPreErrorMode);
if(totalnum!=0&&freenum!=0)
string str2;//
str2=IntToStr((float)totalnum/);//
strTotalBytes=&磁盘总容量& + str2 + &MB&;
str2=IntToStr((float)freenum/);//
strFreeBytes=&磁盘剩余空间&+str2+&MB&;
strTotalBytes = &&;
strFreeBytes=&&;
DiskInfo = DiskInfo && 1;
///Sleep(10);
if(DiskInfo&1)
DiskCount++;
char drivers[4]={0};
unsigned __int64 totalnum=0;/strcpy(// &);/NULLB,如果为0则磁盘不存在。
while(DiskInfo)
/通过循环操作查看每一位数据是否为1
为您推荐:
其他类似问题
硬盘序列号的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 硬盘的wwn能改吗 的文章

 

随机推荐