我想做一后台程序,一开机就往数据库里读数据

解决方案 »

  1.   

    修改注册表,让自身在开机时启动,要么做成服务====CSDN 小助手 V2.5 2005年11月05日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
    下载:http://szlawbook.com/csdnv2
    ------------------------------------------------------------------------
    终于把CSDN小助手的代码修改好了,终于又可以用了,哈哈
      

  2.   

    to javavcc,
       就是问在c#里有什么方法指令可以实现的啊 譬如用什么方法设置注册表 监控机器状态呢??
      

  3.   

    1. 既然是后台程序, 那么做成windows server比较好. 开机启动,不用用户干涉.
    2. 修改注册表的方法如下:
    将要启动的应用程序路径写到注册表中具体的路径是: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 只需要在上面的路径下写一个键并为此键设置一个当前应用程序的路径即开机自载操作注册表的,用RegistryKey (namespace:Microsoft.Win32)

    using System ;
    using System.Drawing ;
    using System.Collections ;
    using System.ComponentModel ;
    using System.Windows.Forms ;
    using System.Data ;
    using Microsoft.Win32 ;
    //导入使用到的名称空间public class Form1 : Form
    {
    private System.ComponentModel.Container components ;
    private ListBox listBox1 ;
    private Button button1 ;
    private Button button2 ;
    private Button button3 ;
    private Button button4 ;public Form1 ( )
    {
    InitializeComponent ( ) ;
    }
    //清除在程序中使用过的资源
    public override void Dispose ( )
    {
    base.Dispose ( ) ;
    components.Dispose ( ) ;
    }
    //初始化程序中使用到的组件
    private void InitializeComponent ( )
    {
    this.components = new System.ComponentModel.Container ( ) ;
    this.button1 = new Button ( ) ;
    this.listBox1 = new ListBox ( ) ;
    button1.Location = new System.Drawing.Point ( 16 , 320 ) ;
    button1.Size = new System.Drawing.Size ( 90 , 23 ) ;
    button1.TabIndex = 0 ;
    button1.Text = "读取注册表" ;
    button1.Click += new System.EventHandler ( this.button1_Click ) ;this.button2 = new Button ( ) ;
    button2.Location = new System.Drawing.Point ( 116 , 320 ) ;
    button2.Size = new System.Drawing.Size ( 90 , 23 ) ;
    button2.TabIndex = 1 ;
    button2.Text = "创建子键" ;
    button2.Click += new System.EventHandler ( this.button2_Click ) ;this.button3 = new Button ( ) ;
    button3.Location = new System.Drawing.Point ( 216 , 320 ) ;
    button3.Size = new System.Drawing.Size ( 90 , 23 ) ;
    button3.TabIndex = 2 ;
    button3.Text = "创建主键" ;
    button3.Click += new System.EventHandler ( this.button3_Click ) ;this.button4 = new Button ( ) ;
    button4.Location = new System.Drawing.Point ( 316 , 320 ) ;
    button4.Size = new System.Drawing.Size ( 90 , 23 ) ;
    button4.TabIndex = 3 ;
    button4.Text = "重命名键值" ;
    button4.Click += new System.EventHandler ( this.button4_Click ) ;listBox1.Location = new System.Drawing.Point ( 16 , 32 ) ;
    listBox1.Size = new System.Drawing.Size ( 496 , 264 ) ;
    listBox1.TabIndex = 4 ;
    this.Text = "用Visual C#来创建和修改注册表中的注册信息!" ;
    this.AutoScaleBaseSize = new System.Drawing.Size ( 5 , 13 ) ;
    this.ClientSize = new System.Drawing.Size ( 528 , 357 ) ;
    //在窗体中加入组件
    this.Controls.Add ( this.listBox1 ) ;
    this.Controls.Add ( this.button1 ) ;
    this.Controls.Add ( this.button2 ) ;
    this.Controls.Add ( this.button3 ) ;
    this.Controls.Add ( this.button4 ) ;
    }
    //以列表形式显示"HARDWARE"下面一层的子键和键值
    protected void button1_Click ( object sender , System.EventArgs e )
    {
    listBox1.Items.Clear ( ) ;
    RegistryKey hklm = Registry.LocalMachine ;
    RegistryKey software = hklm.OpenSubKey ( "HARDWARE" ) ;
    //打开"SYSTEM"子键
    foreach ( string site in software.GetSubKeyNames ( ) )
    //开始遍历由子键名称组成的字符串数组
    {
    listBox1.Items.Add ( site ) ;
    //在列表中加入子键名称
    RegistryKey sitekey = software.OpenSubKey ( site ) ;
    //打开此子键
    foreach ( string sValName in sitekey.GetValueNames ( ) )
    //开始遍历由指定子键拥有的键值名称组成的字符串数组
    {
    listBox1.Items.Add ( " " + sValName + ": " + sitekey.GetValue ( sValName ) ) ;
    //在列表中加入键名称和对应的键值
    }
    }
    }
    //创建子键和键值
    protected void button2_Click ( object sender , System.EventArgs e )
    {
    listBox1.Items.Clear ( ) ;
    RegistryKey hklm = Registry.LocalMachine ;
    RegistryKey software = hklm.OpenSubKey ( "HARDWARE", true ) ;
    RegistryKey ddd = software.CreateSubKey ( "ddd" ) ;
    ddd.SetValue ( "www" , "1234" );
    }
    //创建一个主键并创建一个键值
    protected void button3_Click ( object sender , System.EventArgs e )
    {
    listBox1.Items.Clear ( ) ;
    RegistryKey hklm = Registry.LocalMachine ;
    RegistryKey software = hklm.OpenSubKey ( "HARDWARE", true ) ;
    RegistryKey main1 = software.CreateSubKey ( "main" ) ;
    RegistryKey ddd = main1.CreateSubKey ( "sub" ) ;
    ddd.SetValue ( "value" , "1234" ) ;
    }
    //重命名一个存在的键值
    protected void button4_Click ( object sender , System.EventArgs e )
    {
    listBox1.Items.Clear ( ) ;
    RegistryKey hklm = Registry.LocalMachine ;
    RegistryKey software = hklm.OpenSubKey ( "HARDWARE", true ) ;
    RegistryKey dddw = software.OpenSubKey ( "aaa" , true ) ;
    dddw.SetValue ( "bbb" , "abcd" ) ;
    }
    public static void Main ( )
    {
    Application.Run ( new Form1 ( ) ) ;
    }

     
     
      

  4.   

    有没有什么例子给参考下呢 codeproject的也可以
      

  5.   

    做成windows service, 再做个安装项目, 就行了
      

  6.   

    恩,我考虑下windows service