Hej alle. Jeg sidder og roder med et c-sharp projekt, der skal kunne vise følgende ting:
-IP adresse
-Local IP
-Server
-MAC Adresse
-Computer navn
-OS (Plus version fx. Windows 7 ULTIMATE)
-Harddisk kapasitet ledig samt brugt
-Den skal kunne måle internet hastighed således fx. 40/40
Det ville være bedst at tingene blev vist i en label, da så kan rykke rundt på det. Er HELT ny i c#, så når jeg googler får jeg resultater som følgende:
For at se IP:
- private static string GetIpAddress()
- {
- string strHostName = "";
- strHostName = System.Net.Dns.GetHostName();
- IPHostEntry ipEntry = System.Net.Dns.GetHostEntry(strHostName);
- IPAddress[] addr = ipEntry.AddressList;
- return addr[addr.Length - 1].ToString();
- }
For at se OS:
- private string GetOSName()
- {
- System.OperatingSystem os = System.Environment.OSVersion;
- string osName = "Unknown";
-
-
- switch (os.Platform)
- {
- case System.PlatformID.Win32Windows:
- switch (os.Version.Minor)
- {
- case 0:
- osName = "Windows 95";
- break;
- case 10:
- osName = "Windows 98";
- break;
- case 90:
- osName = "Windows ME";
- break;
- }
- break;
- case System.PlatformID.Win32NT:
- switch (os.Version.Major)
- {
- case 3:
- osName = "Windws NT 3.51";
- break;
- case 4:
- osName = "Windows NT 4";
- break;
- case 5:
- if (os.Version.Minor == 0)
- osName = "Windows 2000";
- else if (os.Version.Minor == 1)
- osName = "Windows XP";
- else if (os.Version.Minor == 2)
- osName = "Windows Server 2003";
- break;
- case 6:
- osName = "Windows Vista";
- break;
- }
- break;
- }
-
- return osName + ", " + os.Version.ToString();
- }
For at se MAC adresse:
- private string GetMac()
- {
- string Mac = string.Empty;
- ManagementClass MC = new ManagementClass("Win32_NetworkAdapter");
- ManagementObjectCollection MOCol = MC.GetInstances();
- foreach (ManagementObject MO in MOCol)
- if (MO != null)
- {
- if (MO["MacAddress"] != null)
- {
- Mac = MO["MACAddress"].ToString();
- if (Mac != string.Empty)
- break;
- }
- }
- return Mac;
- }
For at se Computer navnet:
- static string GetName ()
- {
- string netBiosName = System.Environment.MachineName;
-
- //return netBiosName;
- // Following method is deprecated
- // string dnsName =
- // System.Net.Dns.GetHostByName("LocalHost").HostName;
-
- string dnsName = System.Net.Dns.GetHostName();
- return dnsName;
- }
Da jeg ikke kan tyde koden, kender jeg heller ikke dens placering. Har prøvet at placere det flere steder i min std. kode, men uden held. Det er endnu en grund til at sætte det i en label, da jeg er så ny at jeg ikke aner andet.
Håber i kan hjælpe med at finde brugbare svar, evt har noget kode liggende, hvor i kan fortælle hvor den skal placeres :-)
Min kode er følgende indetil videre:
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using System.Net;
- using System.Net.Sockets;
-
-
- namespace FMPS_Internet_Information_Tool
- {
- public partial class Form1 : Form
- {
-
- public Form1()
- {
- InitializeComponent();
- }
-
- private void Form1_Load(object sender, EventArgs e)
- {
-
- }
-
- private void label3_Click(object sender, EventArgs e)
- {
-
-
- }
-
- private void toolStripButton3_Click(object sender, EventArgs e)
- {
-
- }
- }
- }
Som sagt, standard :-)