分辨率、卷标、序列号、分区表的读出

原创 2001年06月03日 17:19:00

 

Option Explicit

Private Declare Function GetVolumeInformation Lib "kernel32.dll" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Integer, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long

Const FILE_VOLUME_IS_COMPRESSED = &H8000

Function GetSerialNumber(strDrive As String) As Long
Dim SerialNum As Long
Dim Res As Long
Dim Temp1 As String
Dim Temp2 As String
Temp1 = String$(255, Chr$(0))
Temp2 = String$(255, Chr$(0))
Res = GetVolumeInformation(strDrive, Temp1, Len(Temp1), SerialNum, 0, 0, Temp2, Len(Temp2))
MsgBox Temp1
MsgBox Temp2
MsgBox Hex(SerialNum)
GetSerialNumber = SerialNum
End Function

Public Sub GetVolInfo(ByVal path As String)
Dim aa As Long
Dim VolName As String
Dim fsysName As String
Dim VolSeri As Long, compress As Long
Dim Sysflag As Long, Maxlen As Long
'初试化字符串的长度
VolName = String(255, 0)
fsysName = String(255, 0)
aa = GetVolumeInformation(path, VolName, 256, VolSeri, Maxlen, _
Sysflag, fsysName, 256)
VolName = Left(VolName, InStr(1, VolName, Chr(0)) - 1)
fsysName = Left(fsysName, InStr(1, fsysName, Chr(0)) - 1)
compress = Sysflag And FILE_VOLUME_IS_COMPRESSED
If compress = 0 Then
MsgBox "未压缩驱动器"
Else
MsgBox "压缩驱动器"
End If
MsgBox "驱动器卷标 :" + VolName
MsgBox "驱动器标号 : " + Hex(VolSeri)
MsgBox "驱动器文件系统 (FAT, HPFS, or NTFS)" + fsysName
MsgBox "支持的文件名长度" + Str$(Maxlen)
End Sub

Private Sub Command1_Click()
MsgBox GetSerialNumber("C:/")
End Sub


Private Sub Command2_Click()
Call GetVolInfo("C:/")
End Sub

Private Sub Command3_Click()
Dim cr As String
Dim Twidth As Integer
Dim Theight As Integer
cr = Chr$(13) + Chr$(10)
Twidth% = Screen.Width / Screen.TwipsPerPixelX
Theight% = Screen.Height / Screen.TwipsPerPixelY
MsgBox "屏幕大小为" + cr + cr + Str$(Twidth%) + " x" + Str$(Theight%), 64, "Info"
End Sub

分辨率、卷标、序列号、分区表的读出

  • zgqtxwd
  • zgqtxwd
  • 2008年05月01日 05:27
  • 108

获取硬盘序列号和卷标序列号

获取硬盘序列号和卷标序列号作者:ImMcss 欢迎转载,请以超链接形式保留原文地址。硬盘序列号和卷标序列号很容易混淆。硬盘序列号:      英文名 Hard Disk Serial Number, ...
  • immcss
  • immcss
  • 2008年04月16日 15:38
  • 4321

vb代码修改硬盘的分区序列号

谁说VB的功能弱,看看这个程序!        原本我的一个商用程序被破解了,气氛啊~~~ 程序只是将一些关键的注册信息是隐藏到注册表内的。反汇编后很容易被破解,我就想到通过修改这个硬盘分区的序列号...
  • leek
  • leek
  • 2012年02月16日 15:23
  • 1438

运用命令提示符查询卷序列号

1.快捷键Winkey+R进入运行,输入cmd确定进入命令提示符窗口。 2.输入dir D:(或其他盘符),Enter后会显示卷的相应的序列号。...
  • wkkxyz
  • wkkxyz
  • 2013年12月10日 18:08
  • 826

获取硬盘卷标号和CPU序列号的C#代码

  • DonetRen
  • DonetRen
  • 2010年05月21日 18:08
  • 4356

根据cpu序列号、磁盘卷标号设计软件注册程序

  • DonetRen
  • DonetRen
  • 2010年05月24日 10:35
  • 3025

vc获取卷标 GetVolumeInformation

#include   #include   int   main(int   argc,   char   **argv) { DWORD   VolumeSerialNumb...
  • AwillAway
  • AwillAway
  • 2012年08月02日 11:13
  • 7885

C++获取CPU序列号和C盘卷标号

主要用到两个类win32_Processor、win32_logicaldisk在MSDN中可以查看到用法和示例,这里是根据示例修改的。 #define _WIN32_DCOM #inclu...
  • zouxin_88
  • zouxin_88
  • 2016年11月18日 15:55
  • 2900

Linux下查看、修改分区的卷标:修改linux分区的卷标

Linux下查看、修改分区的卷标:修改linux分区的卷标可以用 e2label, 比如要把/dev/sda1 的卷标改为/boot,则可这样$ e2label /dev/sda1 /boot...
  • liaokesen168
  • liaokesen168
  • 2016年11月21日 22:57
  • 1453

linux下为分区设置卷标

用mkswap -L 命令可以给一个swap设卷标。 用blkid命令可以查看分区的卷标。 e2label只能给ext2/ext3文件系统设卷标或查看卷标。...
  • kepa520
  • kepa520
  • 2015年07月25日 09:44
  • 334
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:分辨率、卷标、序列号、分区表的读出
举报原因:
原因补充:

(最多只允许输入30个字)