.net 修改注冊表問題 我用.net修改注冊表,讓某個服務為交互式,雖然修改過來了,但是必須重新啟動,才支持交互式,有什麽方法可以修改了注冊表,不重啟,但能夠刷新注冊表,達到我想要的效果,服務為交互式,是為了能彈出一些外用exe應用程序,或者有什麽方法讓服務一裝上,就是為交互式的!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 之前做过一下~把我的代码拷给你把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); } } } 用API,WTSQueryUserToken、CreateProcessAsUser创建进程。 写好的程序release发布报错 ,debug模式是可以的 关于asp:FileUpload控件的问题 如何 用字符串表示类的属性并调用? 想和大家探讨下 请教高手,C#winfrm编程使用水晶报表打印的一个问题 安装卸载问题? wpf image绑定图片路径 删除时出现正由另一进程使用,因此该进程无法访问此文件 c#调用C++ DLL 菜鸟求大神指导 Xml序列化的问题 datagridView找不到databind方法 又个Typed Dataset 问题,新手求助
{
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);
}
}
}