关于vb.net磁盘容量条的信息

vb.net如何获取电脑中的所有盘符

首先使用 System.IO.DriveInfo.GetDrives()获取System.IO.DriveInfo,存入ds()

成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:做网站、成都网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的榆中网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

然后遍历ds,获取各个信息部分。

Dim ds() As System.IO.DriveInfo = System.IO.DriveInfo.GetDrives()

For i As Integer = 0 To ds.Length - 1

TextBox1.Text = TextBox1.Text + ds(i).DriveType.ToString + " " '驱动器类型

TextBox1.Text = TextBox1.Text + ds(i).Name + " " '盘符(驱动器名)

TextBox1.Text = TextBox1.Text + ds(i).IsReady.ToString + " " '是否就绪

If ds(i).IsReady = True Then

TextBox1.Text = TextBox1.Text + ds(i).VolumeLabel + " " '卷标

TextBox1.Text = TextBox1.Text + ds(i).TotalSize.ToString + " " '驱动器容量

TextBox1.Text = TextBox1.Text + ds(i).TotalFreeSpace.ToString '驱动器可用容量

End If

TextBox1.Text = TextBox1.Text + vbNewLine

Next

VB.NET 中使用 combobox 控件获取磁盘信息

先引用 System.ManageMent

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim HDDDeviceQuery As New Management.SelectQuery("Win32_DiskDrive")

Dim HDDDeviceSearch As New Management.ManagementObjectSearcher(HDDDeviceQuery)

Dim HDDDeviceInfo As Management.ManagementObject

For Each HDDDeviceInfo In HDDDeviceSearch.Get()

ComboBox1.Items.Add("HDD Description: " HDDDeviceInfo("caption").ToString())

ComboBox1.Items.Add("HDD BytesPerSector: " HDDDeviceInfo("BytesPerSector").ToString())

'ComboBox1.Items.Add("HDD CompressionMethod: " HDDDeviceInfo("CompressionMethod").ToString())

ComboBox1.Items.Add("HDD Index: " HDDDeviceInfo("Index").ToString())

'ComboBox1.Items.Add("HDD InstallDate: " HDDDeviceInfo("InstallDate").ToString())

ComboBox1.Items.Add("HDD Manufacturer: " HDDDeviceInfo("Manufacturer").ToString())

ComboBox1.Items.Add("HDD Partitions: " HDDDeviceInfo("Partitions").ToString() Space(1) GetLastDev())

ComboBox1.Items.Add("HDD Size: " Int(Val(HDDDeviceInfo("Size").ToString()) / 2 ^ 30) " GBytes")

ComboBox1.Items.Add("HDD TotalCylinders: " HDDDeviceInfo("TotalCylinders").ToString())

ComboBox1.Items.Add("HDD TotalSectors: " HDDDeviceInfo("TotalSectors").ToString())

ComboBox1.Items.Add("HDD TracksPerCylinder: " HDDDeviceInfo("TracksPerCylinder").ToString())

ComboBox1.Items.Add("HDD TotalHeads: " HDDDeviceInfo("TotalHeads").ToString())

ComboBox1.Items.Add("HDD TotalTracks: " HDDDeviceInfo("TotalTracks").ToString())

ComboBox1.Items.Add("HDD SectorsPerTrack: " HDDDeviceInfo("SectorsPerTrack").ToString())

ComboBox1.Items.Add("HDD SCSILogicalUnit: " HDDDeviceInfo("SCSILogicalUnit").ToString())

Next

End Sub

Public Function GetLastDev() As String

GetLastDev = ""

Dim r As Short = My.Computer.FileSystem.Drives.Count

For i As Short = 0 To r - 1 Step 1

GetLastDev = GetLastDev My.Computer.FileSystem.Drives(i).Name ":"

Next

Return GetLastDev

End Function

End Class

VB.NET获取硬盘信息的几种方法

strResult += 磁盘类型: System.Convert.ToInt16(disk(DriveType).ToString())End IfMsgBox(strResult)NextEnd Sub总结:在VB.NET中,用API函数可以获取硬盘信息。原来熟悉API函数VB6程序员,可以对API函数声明进行适当的更改后,进行调用。利用FSO(文件系统对象)的Scrrun.DLL,也可以获得磁盘信息。在.net Framwork中,利用WMI可以获取更多的关于机器硬件的详细信息(参考System.Management命名空间)。

VB中怎么用API获取磁盘的容量信息

转:

api函数获取磁盘容量:

Private Declare Function GetDiskFreeSpaceEx Lib "kernel32" Alias "GetDiskFreeSpaceExA" _

(ByVal lpDirectoryName As String, ByRef lpFreeBytesAvailableToCaller As Long, _

ByRef lpTotalNumberOfBytes As Long, ByRef lpTotalNumberOfFreeBytes As Long) As Long

Private Sub btnDisk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisk.Click

Dim BytesFreeToCalller As Long, TotalBytes As Long

Dim TotalFreeBytes As Long, TotalBytesUsed As Long

Dim strResult As String

Const RootPathName = "C:\"

Call GetDiskFreeSpaceEx(RootPathName, BytesFreeToCalller, TotalBytes, TotalFreeBytes)

strResult = " Drive " "C:\" vbCrLf

strResult += "磁盘容量(MB):" Format(CDbl((TotalBytes / 1024) / 1024), "###,###,##0.00") vbCrLf

strResult += "可用空间(MB):" Format(CDbl((TotalFreeBytes / 1024) / 1024), "###,###,##0.00") vbCrLf

strResult += "已用空间(MB):" Format(CDbl(((TotalBytes - TotalFreeBytes) / 1024) / 1024), "###,###,##0.00") vbCrLf

MsgBox(strResult)

End Sub

vb.net 磁盘文件列表,界面如图,在.net下如何实现?

预先准备三个图标文件,用于树型控件中显示磁盘符号和文件夹的图像之用。

1、窗体上添加控件如下:

组合框控件 ComboBox1,树型控件 TreeView1,列表框控件 ListBox1,图像列表控件 ImageList1。

选中TreeView1,设置其ImageList属性为ImageList1。

2、设置属性

选中图像列表控件 ImageList1,在属性窗口里,选中属性Images,单击三个小点按钮,出现图像集合编辑器窗口,单击[添加按钮],一一把准备好的图标文件进行添加,注意先后次序,如果不符合要求可以通过上下移动按钮重新改变次序。完成后单击[确定]。

运行图如下:

完整代码如下:

Imports System.IO

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'添加系统所有磁盘目录符号

For Each MyDrive As String In Environment.GetLogicalDrives()

ComboBox1.Items.Add(MyDrive)

Next

'显示第一个磁盘符号

ComboBox1.Text = ComboBox1.Items(0)

End Sub

'递归过程添加目录树

Public Sub AddDirectory(ByVal strFatherPath As String, ByVal strPath As String, ByVal nodeFather As TreeNode)

Dim i As Integer

Dim Mynode As New TreeNode

'先添加本目录

Mynode.Text = Strings.Replace(strPath, strFatherPath  "\", "", , 1)

'为节点指定未被选中时显示的图标

Mynode.ImageIndex = 1

'为节点指定被选中时显示的图标

Mynode.SelectedImageIndex = 2

nodeFather.Nodes.Add(Mynode)

Application.DoEvents()

Try

Dim str() As String = Directory.GetDirectories(strPath)

'递归遍历该目录的子文件夹

For i = 0 To str.GetUpperBound(0)

AddDirectory(strPath, str(i), Mynode)

Next

Catch ex As Exception

Debug.WriteLine(ex.Message)

End Try

Mynode = Nothing

End Sub

'根据给出的盘符添加目录树

Private Sub AddRootDirectory(ByVal DiscSymbol As String)

Dim Nynode As New TreeNode

'先把磁盘盘符添加到树中

TreeView1.Nodes.Clear()

Nynode.ImageIndex = 0

Nynode.Text = DiscSymbol

Nynode.SelectedImageIndex = -1

TreeView1.Nodes.Add(Nynode)

Dim i As Integer

'获取磁盘根目录下的文件夹

Dim str() As String = Directory.GetDirectories(DiscSymbol  "\")

For i = 0 To str.GetUpperBound(0)

'调用递归过程遍历该文件夹里的所有子文件夹,并添加到树型控件

AddDirectory(DiscSymbol, str(i), Nynode)

Next

Nynode = Nothing

End Sub

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

'根据磁盘符号的变更,显示根目录里的文件

ListBox1.Items.Clear()

For Each MyFile As String In System.IO.Directory.GetFiles(ComboBox1.Text)

ListBox1.Items.Add(MyFile)

Next

'根据磁盘符号的变更,重新显示目录树

Dim DiscSymbol As String

DiscSymbol = Microsoft.VisualBasic.Left(ComboBox1.Text, Len(ComboBox1.Text) - 1)

Call AddRootDirectory(DiscSymbol)

End Sub

'递归过程根据子目录寻找上级目录名--从而构成完整的目录路径

Private Sub AllPath(ByVal ThisNode As TreeNode, ByRef MyPathName As String)

If ThisNode.Level  1 Then

'该节点层数大于1,其父节点不是磁盘根目录

MyPathName = ThisNode.Parent.Text  "\"  MyPathName

Dim MyNode As TreeNode = ThisNode.Parent

Call AllPath(MyNode, MyPathName)

Else

'该节点层数等于1,其父节点就是磁盘根目录

MyPathName = ComboBox1.Text  MyPathName

End If

End Sub

Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect

'为了搜索选中的节点对应目录的文件,需要组成全路径

Dim MyAllPathName As String = TreeView1.SelectedNode.Text

Dim MyNode As TreeNode = TreeView1.SelectedNode

If TreeView1.SelectedNode.Level = 0 Then

'如果选中的是根节点

MyAllPathName = ComboBox1.Text

Else

'如果选中的是非根节点,调用递归过程组成全路径

Call AllPath(MyNode, MyAllPathName)

MyAllPathName = MyAllPathName  "\"

End If

'根据路径,搜索文件名并显示

ListBox1.Items.Clear()

For Each MyFile As String In System.IO.Directory.GetFiles(MyAllPathName)

ListBox1.Items.Add(MyFile)

Next

End Sub

End Class


分享题目:关于vb.net磁盘容量条的信息
本文URL:http://ybzwz.com/article/docgijp.html