none
vb.net 2005如何獲取本機以下信息? RRS feed

  • 問題

  • 1.電腦名稱

    2.ip地址

    3.mac地址

    4.ie版本

    5.os類別版本

    6.某個文件特定修改日期

    7.cpu大小型號

    8.內存大小型號

    9.硬盤容量

    10.主板型號

    2006年10月30日 上午 07:05

解答

  •  LOLOTA 寫信:
    除了小朱大大說的之外,另外您可以用my.computer,底下有許多的屬性跟方法可以利用。

    My 命名空間其實都把 Microsoft.VisualBasic 中的一些類別都包裝起來變成 "My":

    Microsoft.VisualBasic.ApplicationServices => My.Application
    Microsoft.VisualBasic.Devices =>
    My.Computer
    Microsoft.VisualBasic.FileIO => My.FileSystem
    Microsoft.VisualBasic.Logging => My.Log

    在 Microsoft.VisualBasic.MyServices 命名空間下有一些 ****Proxy 類別,它也是直接和 My 物件連接的 .

    2006年10月30日 上午 08:58
    版主

所有回覆

  • 1.電腦名稱:
    Environment.MachineName

    2.ip地址:
    System.Net.Dns.GetHostAddresses()

    3.mac地址:
    System.Net.NetworkInformation.NetworkInterface.GetPhysicalAddress()

    4.ie版本:
    使用 FileVersionInfo.GetVersionInfo() 傳入 IE 的執行檔路徑,取得 FileVersionInfo 物件 .

    5.os類別版本:
    Environment.OSVersion

    6.某個文件特定修改日期:
    File.GetLastWriteTime()

    7.cpu大小型號:
    用 Windows API...

    8.內存大小型號:
    內存是什麼?記憶體嗎?記憶體可用:My.ComputerInfo.TotalPhysicalMemory
    型號,可能要用 Windows API 了,或者可參考 DDK 有沒有,內建函式庫應該沒有 .

    9.硬盤容量:
    Microsoft.VisualBasic.FileIO.FileSystem.GetDriveInfo() 取得 DriveInfo,再用 TotalSize 取得

    10.主板型號:
    要用 Windows API ,或者可參考 DDK 有沒有,內建函式庫應該沒有 .

    2006年10月30日 上午 07:24
    版主
  • 除了小朱大大說的之外,另外您可以用my.computer,底下有許多的屬性跟方法可以利用。
    2006年10月30日 上午 07:57
    版主
  • System.Net.Dns.GetHostAddresses()

    錯誤 1 'Public Shared Function GetHostAddresses(hostNameOrAddress As String) As System.Net.IPAddress()' 的參數 'hostNameOrAddress' 未指定引數。 C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\e_Front_Service\e_Front_Service\e_detail.vb 14 24 e_Front_Service

    順便告訴我如何指定各個問題的宣告或定義

    2006年10月30日 上午 07:57
  •  李國雄 寫信:

    順便告訴我如何指定各個問題的宣告或定義

    這應該要你自己查文件了吧?
    MSDN 和 .NET Framework 那麼多文件,請你自己動手查 .
    方法都已經告訴你了,學東西不要有速食主義 .

    至於各類別所屬的命名空間,文件中也有寫 .

    2006年10月30日 上午 08:53
    版主
  •  LOLOTA 寫信:
    除了小朱大大說的之外,另外您可以用my.computer,底下有許多的屬性跟方法可以利用。

    My 命名空間其實都把 Microsoft.VisualBasic 中的一些類別都包裝起來變成 "My":

    Microsoft.VisualBasic.ApplicationServices => My.Application
    Microsoft.VisualBasic.Devices =>
    My.Computer
    Microsoft.VisualBasic.FileIO => My.FileSystem
    Microsoft.VisualBasic.Logging => My.Log

    在 Microsoft.VisualBasic.MyServices 命名空間下有一些 ****Proxy 類別,它也是直接和 My 物件連接的 .

    2006年10月30日 上午 08:58
    版主
  • tks,我已經知道了
    2006年10月30日 上午 09:31
  • Private Sub e_detail_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            '網絡狀況
            If My.Computer.Network.Ping("172.18.48.215") Then
                Label2.Text = "暢通"
            Else
                Label2.Text = "不通"
            End If
            '機器名稱
            Label3.Text = Environment.MachineName
            'OS名稱
            Label5.Text = My.Computer.Info.OSFullName
            'Symantec病毒碼日期
            Label10.Text = Microsoft.VisualBasic.Left(Microsoft.VisualBasic.Right(My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Symantec\SharedDefs", "DEFWATCH_10", Nothing), 12), 8)
            'Inter Explorer版本
            Label11.Text = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer", "Version", Nothing)
            'CPU
            Label12.Text = Microsoft.VisualBasic.Trim(My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0", "ProcessorNameString", Nothing))
            '主板
            Label14.Text = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System", "SystemBiosVersion", Nothing).ToString
            '鼠标
            Label16.Text = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\MultifunctionAdapter\5\PointerController\0\PointerPeripheral\0", "Identifier", Nothing)
            '顯卡
            Label21.Text = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0000", "DriverDesc", Nothing)
            '登入人員
            Label23.Text = Environment.UserName
            'Broker是自動分配還是手工分配
            Label26.Text = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\OOERP\Broker", "Enabled", Nothing).ToString
            '總內存
            Label28.Text = Str(My.Computer.Info.TotalPhysicalMemory / 1000000) & "M"
            'emax.exe版本
            Label29.Text = My.Computer.FileSystem.GetFileInfo("C:\emax\application\emax.exe").LastWriteTime.ToString
            'broker server
            Label30.Text = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\OOERP\AutoUpdateParams", "IP", Nothing).ToString
            'OS ServicePack
            Label33.Text = Environment.OSVersion.ServicePack.ToString
            '系統時間
            Label35.Text = My.Computer.Clock.LocalTime.ToString
            'C空間和剩餘空間
            Label36.Text = "C:盤總空間:" & Int(My.Computer.FileSystem.GetDriveInfo("C:").TotalSize / 1000 / 1000 / 1000) & "G" & " 可用空間:" & Int(My.Computer.FileSystem.GetDriveInfo("C:").TotalFreeSpace / 1000 / 1000 / 1000) & "G"
            Label37.Text = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\OOERP\CodePage", "TRANSFERTABLEPATH", Nothing).ToString
            Label38.Text = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\OOERP\Broker", "IP", Nothing).ToString
        End Sub
    2006年10月31日 上午 04:17
  • 能否詳細寫出代碼?拜託了
    2006年11月1日 上午 07:48
  • 看到一行文就很想砍 ...

    Dns.GetHostAddresses(Dns.GetHostName())(0).ToString()

    2006年11月1日 上午 07:56
    版主
  • 建議你愛好使用搜尋功能:

    http://forums.microsoft.com/MSDN-CHT/Search/Search.aspx?words=%E5%A6%82%E4%BD%95+%E5%8F%96%E5%BE%97+%E6%9C%AC%E6%A9%9F+IP&searchKey=&lcid=1028&searchscope=allforums&siteid=14&ForumID=-1&ForumGroupID=-1

    特別是前面幾篇就有...

    還就是你問的,你應該把你的新問題描述清楚吧?

    先把文章上鎖,請修改你的發文,若不能修改,請另開主題,把本篇刪除。

    2006年11月1日 上午 08:09
    版主