// Token: 0x06000055 RID: 85 RVA: 0x00002C04 File Offset: 0x00000E04 public static BaseBoard GetBaseBoard() { string condition = "PoweredOn = TRUE"; string[] properties = new string[] { "Model", "Product", "Name", "Manufacturer", "SerialNumber", "PoweredOn" }; WmiClassCollection wmiClassCollection = Wmi.Query("Win32_Baseboard", properties, condition, null); bool flag = wmiClassCollection == null || wmiClassCollection.Count == 0; BaseBoard result; if (flag) { result = null; } else { WmiClass wmiClass = wmiClassCollection[0]; BaseBoard baseBoard = new BaseBoard((string)wmiClass["Model"].Value, (string)wmiClass["Product"].Value, (string)wmiClass["Name"].Value, (string)wmiClass["Manufacturer"].Value, (string)wmiClass["SerialNumber"].Value); result = baseBoard; } return(result); }
public static BaseBoard GetBaseBoard() { string condition = "PoweredOn = TRUE"; string[] requiredProperties = new string[] { "Model", "Product", "Name", "Manufacturer", "SerialNumber", "PoweredOn" }; WmiClassCollection classCollection = Wmi.Query(Wmi.BASEBOARD_CLASSNAME, requiredProperties, condition); if (classCollection == null || classCollection.Count == 0) { return(null); } WmiClass wmiClass = classCollection[0]; BaseBoard baseBoard = new BaseBoard( (string)wmiClass["Model"].Value, (string)wmiClass["Product"].Value, (string)wmiClass["Name"].Value, (string)wmiClass["Manufacturer"].Value, (string)wmiClass["SerialNumber"].Value); return(baseBoard); }
private static void Init() { Console.WriteLine("配置 Microsoft 托管网络虚拟适配器中……"); dynamic virtualAdapter = WmiClass.Query(new SelectQuery("Win32_NetworkAdapter", "PhysicalAdapter=1 AND ServiceName='vwifimp'")).FirstOrDefault(); if (virtualAdapter == null) { Console.WriteLine("查询 Microsoft 托管网络虚拟适配器失败!请先启动无线网络共享后再试。"); return; } virtualAdapter.NetConnectionID = "无线网络共享"; dynamic configuration = WmiClass.Query(new SelectQuery("Win32_NetworkAdapterConfiguration", $"SettingID='{virtualAdapter.GUID}'")).SingleOrDefault(); if (configuration == null) { Console.WriteLine("查询 Microsoft 托管网络虚拟适配器具体配置失败!请先启动无线网络共享后再试。"); return; } configuration.EnableStatic(new[] { "192.168.137.1" }, new[] { "255.255.255.0" }); configuration.SetGateways(null, null); configuration.SetDNSServerSearchOrder(null); Console.WriteLine("搜索可用网络连接中……"); dynamic manager = Activator.CreateInstance(Type.GetTypeFromCLSID(new Guid ("5C63C1AD-3956-4FF8-8486-40034758315B"))); dynamic virtualConnection = null; var query = new List <Tuple <dynamic, dynamic> >(); foreach (var connection in manager.EnumEveryConnection) { var props = manager.NetConnectionProps[connection]; if (props.Guid == virtualAdapter.GUID) { if (virtualConnection == null) { virtualConnection = connection; } else { return; } } else if (props.Status == 2) // NCS_CONNECTED { Console.WriteLine($"{query.Count}. {props.Name} ({props.DeviceName})"); query.Add(new Tuple <dynamic, dynamic>(connection, props.Guid)); } } if (query.Count > 0) { var picked = 0; if (query.Count > 1) { Console.Write("请选择要共享的网络连接序号:(即前面的序号,输个错误的取消操作)"); if (!int.TryParse(Console.ReadLine(), out picked) || picked < 0 || picked >= query.Count) { return; } } else { Console.WriteLine("共享唯一可用的网络连接中……"); } foreach (dynamic cp in WmiClass.Query(new ManagementScope(@"\\.\ROOT\Microsoft\HomeNet"), new ObjectQuery("SELECT * FROM HNet_ConnectionProperties"))) { try { if (cp.IsIcsPrivate) { cp.IsIcsPrivate = false; } } catch (Exception e) { Console.WriteLine("删除旧共享失败:" + e.Message); } } foreach (var connection in manager.EnumEveryConnection) { var conf = manager.INetSharingConfigurationForINetConnection[connection]; var props = manager.NetConnectionProps[connection]; if (conf.SharingEnabled && (props.Guid != query[picked].Item2 || conf.SharingConnectionType != 0) && (props.Guid != virtualAdapter.GUID && conf.SharingConnectionType != 1)) { conf.DisableSharing(); } } var tempConf = manager.INetSharingConfigurationForINetConnection[query[picked].Item1]; if (!tempConf.SharingEnabled) { tempConf.EnableSharing(0); // ICSSHARINGTYPE_PRIVATE } tempConf = manager.INetSharingConfigurationForINetConnection[virtualConnection]; if (!tempConf.SharingEnabled) { tempConf.EnableSharing(1); // ICSSHARINGTYPE_PUBLIC } Console.WriteLine("初始化设置完成!"); } else { Console.WriteLine("没有可用的网络连接!"); } }