win7自动壁纸切换小工具AutoDesk(四)-开机启动
实现开机启动最简单的方法是在注册表里面写入一个键值就可以了。由于win7对安全要求跟xp不同,写入注册表往往绕不过UAC,需要程序提升权限,我开始也在这里走了不少弯路,后来在msdn论坛上面看到提示,在currentuser下面的键值写入是不需要权限的,可以直接写,我看网上很多帖子都写在localmochine下面,走了弯路。
http://social.msdn.microsoft.com/Forums/zh-CN/visualcshartzhchs/thread/a3c87b19-3860-4fbb-96e9-64295860483a/
具体键值就是HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
下面两个函数分别实现写入键值和删除键值:
1 private void regAutoStart()
2 {
3 RegistryKey reg;
4 reg = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
5 reg.SetValue("AutoDesktop", Application.ExecutablePath);
6 reg.Close();
7 }
8
9 private void unRegAutoStart()
10 {
11 RegistryKey reg;
12 reg = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
13 reg.DeleteValue("AutoDesktop");
14 reg.Close();
15 }
由于我在外层有异常的判断,这里就简单的实现功能了。是不是很简单,关键是CurrentUser。
我查看过QQ的实现方式,当你选择qq随机器启动时,就会在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run下面看到QQ2009(我的qq版本是2009)的键值。
页:
[1]