Duonet_Blog

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

View Code 
            
string key = @"SYSTEM\CurrentControlSet\Services\" + ServiceName;

注意这里的斜杠,网上大多数的例子都是/,使用这个斜杠找不到sub的值。
       
      

 1 private void SetServiceTable(string ServiceName)
 2         {
 3             RegistryKey rk = Registry.LocalMachine;
 4             string key = @"SYSTEM\CurrentControlSet\Services\" + ServiceName;
 5             RegistryKey sub = rk.OpenSubKey(key, true);
 6             int value = (int)sub.GetValue("Type");
 7 
 8             //判断是否设置了服务桌面交互
 9             if(value<256)
10             sub.SetValue("Type", value | 256);
11         }
12 
13 
14         //设置允许桌面与服务交互,不需要重启
15         private void SetServiceDesktopInsteract(string serviceName)
16         {
17 
18             ManagementObject wmiService = new ManagementObject(string.Format("Win32_Service.Name='{0}'", serviceName));
19 
20             ManagementBaseObject changeMethod = wmiService.GetMethodParameters("Change");
21 
22             changeMethod["DesktopInteract"] = true;
23 
24             ManagementBaseObject OutParam = wmiService.InvokeMethod("Change", changeMethod, null);
25 
26         }
posted on 2013-06-20 10:03  Duonet  阅读(315)  评论(0编辑  收藏  举报