在用户不登陆系统的情况下自动启动程序。
用服务好像没有程序界面产生?
急需帮助,在线等!谢谢

解决方案 »

  1.   

    操作注册表项:
     private void AutoMenu_Click(object sender, EventArgs e)
            {
                string strName = Application.ExecutablePath;
                string strnewName = strName.Substring(strName.LastIndexOf("\\") + 1);
                if (AutoMenu.Checked)
                {
                    //修改注册表,使程序开机时不自动执行。
                    this.AutoMenu.Checked = false;
                    Microsoft.Win32.RegistryKey Rkey = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVertion\\Run");
                    Rkey.DeleteValue(strnewName, false);
                    MessageBox.Show("程序设置完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    
                }
                else
                {
                    this.AutoMenu.Checked = true;
                    if (!File.Exists(strName))//指定文件是否存在
                        return;
                    Microsoft.Win32.RegistryKey Rkey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVertion\\Run", true);
                    if (Rkey == null)
                        Rkey = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVertion\\Run");
                    Rkey.SetValue(strnewName, strName);//修改注册表,使程序开机时自动执行。
                    MessageBox.Show("程序设置完成,重新启动计算机后即可生效!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
      

  2.   

    那serv-u都怎么在处理的呢?有设置界面,并且后台一直在执行
      

  3.   

    登陆后,serv-u自己启动的,但是"启动"里看不到serv-u连接的
      

  4.   

    把它拖到StartUp(中文启动)文件夹里
      

  5.   

    用户不登陆就启动,只能做成windows service了
      

  6.   

    在用户不登陆系统的情况下自动启动程序。 
    用服务好像没有程序界面产生? 在不登陆的情况下, 让你弹出了程序界面, 那不是WINDOWS的重大BUG呵呵, 放弃吧
      

  7.   

    不用登录就能运行的程序, 就叫服务, 都是以System身份运行的, 所以不需要登录. Winlogon运行在Session0, 而Session0是根本不允许有界面存在的, 除了Winlogon.像Serv-U, 就是这样, 一共分部分: 一个服务, 在后台运行FTP相关的程序; 再写一个Daemon程序用来监视和配置这个服务.这是比较常见的一种模式.
      

  8.   

    uphttp://topic.csdn.net/u/20080122/17/2a8a384a-3728-4836-9ef0-9e8d9ccbbf42.html
      

  9.   

    //命名空间 using Microsoft.Win32; private void checkBox2_CheckedChanged(object sender, System.EventArgs e) 

    if (checkBox2.Checked) //设置开机自启动 

    //MessageBox.Show ("设置开机自启动需要修改注册表","提示"); 
    string path = Application.ExecutablePath; 
    RegistryKey rk = Registry.LocalMachine; 
    RegistryKey rk2 = rk.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run"); 
    rk2.SetValue( "JcShutdown",path ); 
    rk2.Close(); 
    rk.Close(); 

    else //取消开机自启动 

    //MessageBox.Show ("取消开机自启动需要修改注册表","提示"); 
    string path = Application.ExecutablePath; 
    RegistryKey rk = Registry.LocalMachine; 
    RegistryKey rk2 = rk.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run"); 
    rk2.DeleteValue("JcShutdown",false); 
    rk2.Close(); 
    rk.Close(); 

    }