public static void SetPowerState() { //修改连接请求 Microsoft.Win32.RegistryKey registrykey; registrykey = Registry.CurrentUser; registrykey = registrykey.OpenSubKey("Software\\Microsoft\\BluetoothAuthenticationAgent", true); if (registrykey != null) { string[] keys = new string[1024]; keys = registrykey.GetValueNames(); foreach (string key in keys) { if (key.ToUpper() == "ACCEPTINCOMINGREQUESTS") { registrykey.SetValue(key, (object)0); } } } else { registrykey = Registry.CurrentUser; registrykey = registrykey.OpenSubKey("Software\\Microsoft", true); if (registrykey != null) { registrykey = registrykey.CreateSubKey("BluetoothAuthenticationAgent", RegistryKeyPermissionCheck.ReadWriteSubTree); if (registrykey != null) { registrykey.SetValue("AcceptIncomingRequests", (object)0); } } } if (GetOs() != "WIN7") { //return; } StringBuilder sbDevHst = new StringBuilder(); List <string> portsList = new List <string>(); System.Management.ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher("SELECT * FROM Win32_PnPEntity"); foreach (System.Management.ManagementObject mgt in searcher.Get()) { try { string Devicename = mgt["Name"].ToString(); if (Devicename == "Generic Bluetooth Radio") { foreach (PropertyData property in mgt.Properties) { string Propernames = property.Name; if (Propernames.ToUpper() == "DEVICEID") { ChangePowerManage(mgt[Propernames].ToString()); } } } if (Devicename == "Generic USB Hub") { foreach (PropertyData property in mgt.Properties) { string Propernames = property.Name; if (Propernames.ToUpper() == "DEVICEID") { ChangePowerManage(mgt[Propernames].ToString()); } } } if (Devicename == "USB Root Hub") { foreach (PropertyData property in mgt.Properties) { string Propernames = property.Name; if (Propernames.ToUpper() == "DEVICEID") { ChangePowerManage(mgt[Propernames].ToString()); } } } } catch (Exception ex) { ClsToolTip.WriteLog("Common 类" + ex.Message); } } }
public static object GetPowerStatus() { object status = null; string keynames = ""; StringBuilder sbDevHst = new StringBuilder(); List <string> portsList = new List <string>(); System.Management.ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher("SELECT * FROM Win32_PnPEntity"); foreach (System.Management.ManagementObject mgt in searcher.Get()) { try { string Devicename = mgt["Name"].ToString(); if (Devicename == "Generic Bluetooth Radio") { foreach (PropertyData property in mgt.Properties) { string Propernames = property.Name; if (Propernames.ToUpper() == "DEVICEID") { keynames = mgt[Propernames].ToString(); goto FindPowerManger; } } } } catch (Exception ex) { ClsToolTip.WriteLog("Common 类" + ex.Message); } } FindPowerManger: if (/*GetOs() == "WIN7" &&*/ !string.IsNullOrEmpty(keynames)) { try { Microsoft.Win32.RegistryKey registrykey; //////////////////////////////////// registrykey = Registry.LocalMachine; registrykey = registrykey.OpenSubKey("SYSTEM\\ControlSet001\\Enum\\" + keynames + "\\Device Parameters", true); if (registrykey != null) { string[] keys = new string[1024]; keys = registrykey.GetValueNames(); foreach (string key in keys) { if (key.ToUpper() == "SELECTIVESUSPENDENABLED") { //registrykey.SetValue(key, (object)0); status = registrykey.GetValue(key); } } } //////////////////////////////////// registrykey = Registry.LocalMachine; registrykey = registrykey.OpenSubKey("SYSTEM\\CurrentControlSet\\Enum\\" + keynames + "\\Device Parameters", true); if (registrykey != null) { string[] keys = new string[1024]; keys = registrykey.GetValueNames(); foreach (string key in keys) { if (key.ToUpper() == "SELECTIVESUSPENDENABLED") { //registrykey.SetValue(key, (object)0); status = registrykey.GetValue(key); } } } } catch (Exception ex) { ClsToolTip.WriteLog("更改电源设置错误:" + ex.Message); } } return(status); }