这个是应该写注册表么??就30分了,还望不吝赐教啊!!

解决方案 »

  1.   

    //此方法把启动项加载到注册表中//获得应用程序路径
    string strAssName = Application.StartupPath + @"\" + Application.ProductName + @".exe";
    //获得应用程序名
    string ShortFileName = Application.ProductName;RegistryKey rgkRun = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
    if (rgkRun == null)
    {
        rgkRun = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
    }
    rgkRun.SetValue(ShortFileName, strAssName);
    //此删除注册表中启动项//获得应用程序名
    string ShortFileName = Application.ProductName;RegistryKey rgkRun = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
    if (rgkRun == null)
    {
        rgkRun = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
    }
    rgkRun.DeleteValue(ShortFileName, false);
      

  2.   

    Public static   bool  Regexe(string filepath,string key)
    {
    if(file(filepath).Exist)
    {
    RegistryKey rgkRun = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
    if (rgkRun == null)
    {
        rgkRun = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
     rgkRun.SetValue(filepath, key);
    }
    }
    }//filepath为exe的完整路径。 key为描述,可以任意。
      

  3.   

    新建一个 window services      
    系统服务安装的时候给注册后台的服务让服务带动程序  做守护进程来监控服务
      

  4.   

    http://blog.csdn.net/adsdassadfasdfasdf/archive/2010/05/05/5560330.aspx
      

  5.   

    上面那些改注册表的方法,是用户登录以后才运行的,如果需要不登录就能自动开始运行,应该用windows服务
      

  6.   

    1、使用操作系统的任务计划
    2、程序采用Windows 服务的形式。
    3、修改注册表
      

  7.   

    1.放在启动项里,
    2.修改注册表Run的键值。
      

  8.   


            /// <summary>
            /// 开机启动项 
            /// </summary>
            /// <param name="Started">是否启动</param>
            /// <param name="name">启动值的名称</param>
            /// <param name="path">启动程序的路径</param>
            /// <returns></returns>
            public static bool RunWhenStart(bool Started, string name, string path)
            {
                RegistryKey HKLM = Registry.LocalMachine;
                RegistryKey Run = HKLM.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\");
                if (Started)
                {
                    try
                    {
                        Run.SetValue(name, path);
                        HKLM.Close();
                        return true;
                    }
                    catch (Exception Err)
                    {
                        MessageBox.Show(Err.Message, @"MUS\", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return false;
                    }
                }
                else
                {
                    try
                    {
                        Run.DeleteValue(name);
                        HKLM.Close();
                        return true;
                    }
                    catch (Exception)
                    {
                        return false;
                    }
                }
            }
      

  9.   

    不错的分析,专业点只能改注册表了,没有比直接去改变世界更perfect的了
      

  10.   

    你这个修改服务只能够操作程序,但是却不会出现Windows界面,如果要出现界面的用服务是不行的。
      

  11.   

    1.run中修改其实和放到电脑的启动文件是一样的,只不过一个是widnows给你进行了界面处理罢了
    2.至于服务,有个最讨厌的问题,程序运行了,但是如果是应用程序的话不会出现UI,你无法进行鼠标键盘的操作。
    3.至于直接进行启动很有趣,这个代码我还真心不会写呵呵
    4.我找过注册表,里面有一个直接启动程序的方法,就是将explorer.exe这个桌面程序直接改成你的程序,这样的结果就是开机就进入你自己的应用程序了。
      

  12.   

    你说的直接使用杀毒软件不是和explorer这个进程进行交互吧,因为如果要使用桌面我记得都需要让他进行交互。。
    我本来想要直接不交互就先出来我的程序界面然后再出现桌面explorer,结果发现不成功。服务都是后台运行这句话是不会错的。