// VBConversions Note: VB project level imports using System.Collections.Generic; using System; using System.Drawing; using System.Diagnostics; using System.Data; using Microsoft.VisualBasic; using System.Collections; using System.Windows.Forms; // End of VB project level imports using System.Data.OleDb; using System.IO; using System.Runtime.InteropServices; using System.Management; using System.Net; //Imports C1.Win.C1FlexGrid namespace NGToolsPC { public class mldPublic { //Public MyDocPath As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & "\我的输差报表" //public static DateTime ReportDate; //public static string CurrentUser; //public static string strDepartment; //Public strConnServer As String = "Data Source=jl;User ID=jlk;Password=jl4874412;Unicode=True" //Public strConOracle As String = "Data Source=jl;User ID=atsys;Password=123;Unicode=True;Pooling=true" //Public strConCNG As String = " Data Source=10.75.166.6;Initial Catalog=scfx;;User ID=scfx;Password=hhysbyj;Pooling=true" public static string AppPath = Application.StartupPath; //Public xmlPath As String = AppPath & "\计量点.xml" public static string DataPath = AppPath + "\\NGData.MDB"; public static string strConCNG = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + AppPath + "\\NGData.MDB" + ";Persist Security Info=True;Jet OLEDB:Database Password="; public static string strJdyXm = ""; public static string strDog = "123456789"; public static bool RegVaue = false; } //此类用于获取当前主机的相关信息 public class MachineInfo { //用法示例 public string example() { string Info = ""; MachineInfo info = MachineInfo.I(); //获取主机的对象信息 //Info = "\r\n主机名:" + Dns.GetHostName(); //获取主机名称 //Info += "\r\n系统类型:" + info.GetSystemType(); //Info += "\r\n物理内存:" + info.GetPhysicalMemory(); //Info += "\r\n\r\n本地IP:"; //string[] LocalIp = info.GetLocalIpAddress(); //foreach (string ip in LocalIp) Info += "\r\n" + ip; //Info += "\r\n\r\n外网IP:"; //string[] ExternalIp = info.GetExtenalIpAddress(); //foreach (string ip in ExternalIp) Info += "\r\n" + ip; //Info += "\r\n\r\nMAC:"; //Info += "\r\n" + info.GetNetCardMACAddress(); ////Info += "\r\n" + info.GetMacAddress(LocalIp[0]); //Info += "\r\n"; Info += "CPU序列号:" + info.GetCPUSerialNumber(); //Info += "\r\nCPU编号:" + info.GetCPUID(); //Info += "\r\nCPU版本信息:" + info.GetCPUVersion(); //Info += "\r\nCPU名称信息:" + info.GetCPUName(); //Info += "\r\nCPU制造厂商:" + info.GetCPUManufacturer(); //Info += "\r\n主板制造厂商:" + info.GetBoardManufacturer(); //Info += "\r\n主板序列号:" + info.GetBIOSSerialNumber(); Info += "---硬盘序列号:" + info.GetHardDiskSerialNumber(); //Info += "\r\n显卡PNPDeviceID:\r\n" + info.GetVideoPNPID(); //Info += "\r\n声卡PNPDeviceID:\r\n" + info.GetSoundPNPID(); return Info; } static MachineInfo Instance; /// /// 获取当前类对象的一个实例 /// public static MachineInfo I() { if (Instance == null) Instance = new MachineInfo(); return Instance; } /// /// 获取本地ip地址,多个ip /// public String[] GetLocalIpAddress() { string hostName = Dns.GetHostName(); //获取主机名称 IPAddress[] addresses = Dns.GetHostAddresses(hostName); //解析主机IP地址 string[] IP = new string[addresses.Length]; //转换为字符串形式 for (int i = 0; i < addresses.Length; i++) IP[i] = addresses[i].ToString(); return IP; } //从网站"http://1111.ip138.com/ic.asp",获取本机外网ip地址信息串 //"\r\n\r\n\r\n //您的IP地址 \r\n\r\n
您的IP是:[218.104.71.178] 来自:安徽省合肥市 联通
" /// /// 获取外网ip地址 /// public string[] GetExtenalIpAddress() { string[] IP = new string[] { "未获取到外网ip", "" }; string address = "http://1111.ip138.com/ic.asp"; string str = GetWebStr(address); try { //提取外网ip数据 [218.104.71.178] int i1 = str.IndexOf("[") + 1, i2 = str.IndexOf("]"); IP[0] = str.Substring(i1, i2 - i1); //提取网址说明信息 "来自:安徽省合肥市 联通" i1 = i2 + 2; i2 = str.IndexOf("<", i1); IP[1] = str.Substring(i1, i2 - i1); } catch (Exception) { } return IP; } /// /// 获取网址address的返回的文本串数据 /// public string GetWebStr(string address) { string str = ""; try { //从网址中获取本机ip数据 System.Net.WebClient client = new System.Net.WebClient(); client.Encoding = System.Text.Encoding.Default; str = client.DownloadString(address); client.Dispose(); } catch (Exception) { } return str; } /// /// 获取本机的MAC; //在项目-》添加引用....里面引用System.Management /// public string GetLocalMac() { string mac = null; ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration"); ManagementObjectCollection queryCollection = query.Get(); foreach (ManagementObject mo in queryCollection) { if (mo["IPEnabled"].ToString() == "True") mac = mo["MacAddress"].ToString(); } return (mac); } //只能获取同网段的远程主机MAC地址. 因为在标准网络协议下,ARP包是不能跨网段传输的,故想通过ARP协议是无法查询跨网段设备MAC地址的。 [DllImport("Iphlpapi.dll")] private static extern int SendARP(Int32 dest, Int32 host, ref Int64 mac, ref Int32 length); [DllImport("Ws2_32.dll")] private static extern Int32 inet_addr(string ip); /// /// 获取ip对应的MAC地址 /// public string GetMacAddress(string ip) { Int32 ldest = inet_addr(ip); //目的ip Int32 lhost = inet_addr("127.0.0.1"); //本地ip try { Int64 macinfo = new Int64(); Int32 len = 6; int res = SendARP(ldest, 0, ref macinfo, ref len); //使用系统API接口发送ARP请求,解析ip对应的Mac地址 return Convert.ToString(macinfo, 16); } catch (Exception err) { Console.WriteLine("Error:{0}", err.Message); } return "获取Mac地址失败"; } /// /// 获取主板序列号 /// /// public string GetBIOSSerialNumber() { try { ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_BIOS"); string sBIOSSerialNumber = ""; foreach (ManagementObject mo in searcher.Get()) { sBIOSSerialNumber = mo["SerialNumber"].ToString().Trim(); } return sBIOSSerialNumber; } catch { return ""; } } /// /// 获取CPU序列号 /// /// public string GetCPUSerialNumber() { try { ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_Processor"); string sCPUSerialNumber = ""; foreach (ManagementObject mo in searcher.Get()) { sCPUSerialNumber = mo["ProcessorId"].ToString().Trim(); } return sCPUSerialNumber; } catch { return ""; } } //获取硬盘序列号 public string GetHardDiskSerialNumber() { try { ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia"); string sHardDiskSerialNumber = ""; foreach (ManagementObject mo in searcher.Get()) { sHardDiskSerialNumber = mo["SerialNumber"].ToString().Trim(); break; } return sHardDiskSerialNumber; } catch { return ""; } } //获取网卡地址 public string GetNetCardMACAddress() { try { ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapter WHERE ((MACAddress Is Not NULL) AND (Manufacturer <> 'Microsoft'))"); string NetCardMACAddress = ""; foreach (ManagementObject mo in searcher.Get()) { NetCardMACAddress = mo["MACAddress"].ToString().Trim(); } return NetCardMACAddress; } catch { return ""; } } /// /// 获得CPU编号 /// public string GetCPUID() { string cpuid = ""; ManagementClass mc = new ManagementClass("Win32_Processor"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { cpuid = mo.Properties["ProcessorId"].Value.ToString(); } return cpuid; } /// /// 获取硬盘序列号 /// public string GetDiskSerialNumber() { //这种模式在插入一个U盘后可能会有不同的结果,如插入我的手机时 String HDid = ""; ManagementClass mc = new ManagementClass("Win32_DiskDrive"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { HDid = (string)mo.Properties["Model"].Value;//SerialNumber break;//这名话解决有多个物理盘时产生的问题,只取第一个物理硬盘 } return HDid; /*ManagementClass mc = new ManagementClass("Win32_PhysicalMedia"); ManagementObjectCollection moc = mc.GetInstances(); string str = ""; foreach (ManagementObject mo in moc) { str = mo.Properties["SerialNumber"].Value.ToString(); break; } return str;*/ } /// /// 获取网卡硬件地址 /// public string GetMacAddress() { string mac = ""; ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { if ((bool)mo["IPEnabled"] == true) { mac = mo["MacAddress"].ToString(); break; } } return mac; } /// /// 获取IP地址 /// public string GetIPAddress() { string st = ""; ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { if ((bool)mo["IPEnabled"] == true) { //st=mo["IpAddress"].ToString(); System.Array ar; ar = (System.Array)(mo.Properties["IpAddress"].Value); st = ar.GetValue(0).ToString(); break; } } return st; } /// /// 操作系统的登录用户名 /// public string GetUserName() { return Environment.UserName; } /// /// 获取计算机名 /// public string GetComputerName() { return Environment.MachineName; } /// /// 操作系统类型 /// public string GetSystemType() { string st = ""; ManagementClass mc = new ManagementClass("Win32_ComputerSystem"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { st = mo["SystemType"].ToString(); } return st; } /// /// 物理内存 /// public string GetPhysicalMemory() { string st = ""; ManagementClass mc = new ManagementClass("Win32_ComputerSystem"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { st = mo["TotalPhysicalMemory"].ToString(); } return st; } /// /// 显卡PNPDeviceID /// public string GetVideoPNPID() { string st = ""; ManagementObjectSearcher mos = new ManagementObjectSearcher("Select * from Win32_VideoController"); foreach (ManagementObject mo in mos.Get()) { st = mo["PNPDeviceID"].ToString(); } return st; } /// /// 声卡PNPDeviceID /// public string GetSoundPNPID() { string st = ""; ManagementObjectSearcher mos = new ManagementObjectSearcher("Select * from Win32_SoundDevice"); foreach (ManagementObject mo in mos.Get()) { st = mo["PNPDeviceID"].ToString(); } return st; } /// /// CPU版本信息 /// public string GetCPUVersion() { string st = ""; ManagementObjectSearcher mos = new ManagementObjectSearcher("Select * from Win32_Processor"); foreach (ManagementObject mo in mos.Get()) { st = mo["Version"].ToString(); } return st; } /// /// CPU名称信息 /// public string GetCPUName() { string st = ""; ManagementObjectSearcher driveID = new ManagementObjectSearcher("Select * from Win32_Processor"); foreach (ManagementObject mo in driveID.Get()) { st = mo["Name"].ToString(); } return st; } /// /// CPU制造厂商 /// public string GetCPUManufacturer() { string st = ""; ManagementObjectSearcher mos = new ManagementObjectSearcher("Select * from Win32_Processor"); foreach (ManagementObject mo in mos.Get()) { st = mo["Manufacturer"].ToString(); } return st; } /// /// 主板制造厂商 /// public string GetBoardManufacturer() { SelectQuery query = new SelectQuery("Select * from Win32_BaseBoard"); ManagementObjectSearcher mos = new ManagementObjectSearcher(query); ManagementObjectCollection.ManagementObjectEnumerator data = mos.Get().GetEnumerator(); data.MoveNext(); ManagementBaseObject board = data.Current; return board.GetPropertyValue("Manufacturer").ToString(); } /// /// 主板编号 /// public string GetBoardID() { string st = ""; ManagementObjectSearcher mos = new ManagementObjectSearcher("Select * from Win32_BaseBoard"); foreach (ManagementObject mo in mos.Get()) { st = mo["SerialNumber"].ToString(); } return st; } /// /// 主板型号 /// public string GetBoardType() { string st = ""; ManagementObjectSearcher mos = new ManagementObjectSearcher("Select * from Win32_BaseBoard"); foreach (ManagementObject mo in mos.Get()) { st = mo["Product"].ToString(); } return st; } } /// /// Class for holding the HASP demo vendor code. /// This vendor code shall be used within the sample. /// public class VendorCode { /// /// HASP vendor code for demo keys /// private const string vendorCodeString = "qVcIwZe6eEl+KRhnxBYfv+MdbrgHoxYOyNuRZDpRYNMmrj4yzDA4cCusmv7sHFYmMD8A0WBlO1FSLTt4" + "RviMyC2rCQbKV67bTRpCbbGdLzWRJBhUhUHEG9Lj9n94oRhvGF96Wg6GBpEcPDwm4xGw2Q2h+VYjOoHZ" + "OyGLn4DHZ8MLOXHVHTACfPlJmB0Aven20PljO+rvcxMjrMCZjqzVlE/J+aPItJ6vRrhEdrgIN7MYO/lo" + "0fTN0u8LTmswg8pPW5oK5m48bc+BTCyTl9fThm1NM6T2lCOMP+GMhaNtW02l6pP7khYeJfZF+FQS7an4" + "6UoLc3WB45k1uw7zxJSKHStS2Cap1V9XLDn7MXxos8r66LiQWyxQsB6c5UIVzPGnHlzWGcFwkPbB5Jqz" + "KE6Kh3WYzpYxWD4dQlzIPf6p3YN5QKASXkVrlR95ZcE58hM6OBIMa0Z092bvYI+P7RWtQihas8RHtPsf" + "GRdesegll5l8bCVI0xB9MHQZhdkGzlQM+DPkZPcjqu9SlZhx/lBapqeuIkRUOpDvTKRIcUlx427o+UzO" + "DctW201MTgbFqUfzUB0q7wrQkufRZAuNfnMKa1BoEOoL5RxgiwTj80F9gWn+GQMQPLcUJxFUk263Tyn0" + "irBnzHlUmteZIzbFtw9rlLZkJvDAa4zRI1kWy/aKLLfKlqRylvCdZX41jKXPRMaFCG47lx8JMr5knPZg" + "L9EWVp7hm8nPHMAIzJioK+25vFn/FbNzF93asEfaFHggZbSGEEWHjvDz1JJ2Jo2zTlCfPRRVDx7L0+Ko" + "AkyJoec2kdtOMn6Iqzz8aGuyy3iK9+PQm/mf3/+quP+QbJP61EI/BPc2YE0oNaE8l/cljd2rhvJby5kj" + "6XvmF+2Y8uQjcxTXznrZzMJZJ1D4s8004XAzQC03ABw9URXanF9dQ6d72Sz+/lAAWnVGRv52oaVXxA4q" + "fKtsT+HFk5KW9fsuKaOjZw=="; /// /// Returns the vendor code as a string. /// static public string Code { get { return vendorCodeString; } } } }