马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

C#实现开机自动启动(关联注册表)

[复制链接]
查看7894 | 回复2 | 2013-1-15 18:37:14 | 显示全部楼层 |阅读模式


当我们做一个程序出来,需要程序开机时候自动运行,那我们该怎么办?

实现开机启动,当然离不开注册表了。

那么在C#中我们如何操作注册表,实现开机自动启动呢?


有两种方法:

第一种方法:

1.引用命名空间


using Microsoft.Win32;

2.在你的触发事件中写如下代码,拿load事件作例子:

[C#] 纯文本查看 复制代码
   //获取程序执行路径..
    string starupPath = Application.ExecutablePath;
    //class Micosoft.Win32.RegistryKey. 表示Window注册表中项级节点,此类是注册表装.
    RegistryKey loca = Registry.LocalMachine;
    RegistryKey run = loca.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
   
    try
    {
      //SetValue:存储值的名称
run.SetValue("WinForm",starupPath);
MessageBox.Show(" 注册表添加成功!!",""提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
        loca.Close();
    }
    catch(Exception ee)
    {
        MessageBox.Show(ee.Message.ToString(),"提 示",MessageBoxButtons.OK,MessageBoxIcon.Error);
    }



第二种方法:

添加到注册表里直接用代码写到注册表里,也可以手动添加.

E:\\tractor.exe//可以是你的程序名和 完整路径就OK了.

也可以手动拖到启动里面....


[C#] 纯文本查看 复制代码
RegistryKey hklm = Application.LocalMachine;
RegistryKey run = hklm.CreateSubKey(@"SOFTWARE\Microsoft\Windows\Current\Version\Run");
try
{
    run.SetValue("tractor.exe","D:\\tractor.exe");
    MessageBox.Show("注册表添加成功!!","提示",MessageBoxButton.OK, MessageBoxIcon.Information);
    hklm.Close();
}

catch(Exception ee)
{
    MessageBox.Show(my.Message.ToString(),"提示",MessageBoxButton.OK, MessageBoxIcon.Error);
}



有问题 楼下问。
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
chao2332601 | 2013-6-16 02:01:10 | 显示全部楼层
谢谢分享!!!
chao2332601 | 2013-6-16 05:02:03 | 显示全部楼层
谢谢分享!!!
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则