我用.net修改注冊表,讓某個服務為交互式,雖然修改過來了,但是必須重新啟動,才支持交互式,有什麽方法可以修改了注冊表,不重啟,但能夠刷新注冊表,達到我想要的效果,服務為交互式,是為了能彈出一些外用exe應用程序,或者有什麽方法讓服務一裝上,就是為交互式的!!

解决方案 »

  1.   

    之前做过一下~把我的代码拷给你把private void Open_Click(object sender, EventArgs e)
            {
                ConfigOpr opr;
                opr = new ConfigOpr();
                bool isautoopen = Convert.ToBoolean(opr.ReadConfig("Option", "isopen", path));
                RunWhenStart(isautoopen, Application.ProductName, Application.StartupPath + @"\Notes.exe");
                opr.WriteConfig("Option", "isopen", path, isautoopen.ToString());
            }
            /// <summary> 
            /// 开机启动项 
            /// </summary> 
            /// <param name="Started">是否启动</param> 
            /// <param name="name">启动值的名称</param> 
            /// <param name="path">启动程序的路径</param> 
            public static void RunWhenStart(bool Started, string name, string path)
            {
                RegistryKey HKLM = Registry.LocalMachine;
                RegistryKey Run = HKLM.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
                if (Started == true)
                {
                    try
                    {
                        Run.SetValue(name, path);
                        HKLM.Close();
                    }
                    catch (Exception Err)
                    {
                        System.Windows.Forms.MessageBox.Show(Err.Message, "Notes", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
                    }
                }
                else
                {
                    try
                    {
                        if (Run.GetValue(name) != null)
                        {
                            Run.DeleteValue(name);
                            HKLM.Close();
                        }
                    }
                    catch (Exception e)
                    {
                        MessageBox.Show(e.Message);
                    }
                }
            }
      

  2.   

    用API,WTSQueryUserToken、CreateProcessAsUser创建进程。