C# 开机自启动

如果你是管理员权限,那么你可以考虑修改注册表来达到这个功能,当然你也可以把修改注册表提前告诉用户,毕竟有的用户不喜欢随便修改自己的东西。

那修改的路径就在这个地方:

readonly string regPath = @"Software\Microsoft\Windows\CurrentVersion\Run";

然后,你要获得你的程序的路径,可以:Application.ExecutablePath,或者 Environment.CurrentDirectory + "\\XX.exe"。

然后就是修改注册表了。

1 RegistryKey rk = Registry.LocalMachine;
2 RegistryKey key = rk.CreateSubKey(regPath);
3 key.SetValue("XX", appPath);
4 rk.Close();

先要打开 主KEY, 在 HKEY_LOCAL_MACHINE。第一行代码可以看出。

然后在这个修改自启动的路径下创建一个KEY,然后设置一个值,SetValue 第一个参数,是你这个键值的名字,可以随便起,然后是你的程序的路径。

OK,最后CLOSE 掉。

你也可以try 一下 这段代码,然后 catch 这个异常:UnauthorizedAccessException 。顾名思义,你可以弹出个窗体,警告用户:你没有相应权限。

 

当你没有管理权限,也就是不能修改注册表时,你可以考虑另一种方法。

那就是创建你的快捷方式,也就是创建一个.lnk 的文件。

首先你需要添加引用,选择 COM 选项卡,然后 选择Windows Script Host Object Model。

然后写上 

using IWshRuntimeLibrary;
 1 WshShell shell =new WshShell();
2IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(
3     Environment.GetFolderPath(Environment.SpecialFolder.Startup)+ " "+"\\XX.lnk"
4     );
5   shortcut.TargetPath = Application.ExecutablePath;
6   shortcut.WorkingDirectory = System.Environment.CurrentDirectory;
7   shortcut.WindowStyle =1;
8   shortcut.Description ="XX Application";
9   shortcut.Save();

先是创建 Shortcut ,在 Startup 这个目录下。

然后制定一系列的属性值。

TargetPath 设置你的程序的位置。

WorkingDirectory 工作目录。

WindowStyle :1、为 normal ,3、Maximized,7、Minimized。

Description:描述。

最后一定要Save,否则只 CreateShortcut 是创建不出 快捷方式的。

 

OK,第一篇博客,菜鸟上路···

 

 

 

转载于:https://www.cnblogs.com/Walsh/archive/2011/08/20/wshjay.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值