zoukankan      html  css  js  c++  java
  • 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,第一篇博客,菜鸟上路···



     世界不会在意你的自尊,人们看的只是你的成就。在你没有成就以前,切勿过分强调自尊。——比尔·盖茨
  • 相关阅读:
    让mysql查询强制走索引
    【转】起始时间和终止时间,循环输出每天
    【转】31个实用的find命令
    Hive数据倾斜解决办法总结
    网站架构之可扩展性
    网站架构之高可用性
    网站架构之可伸缩性
    kafka中的消费组
    MySQL知识点小结
    [数据挖掘]用户画像
  • 原文地址:https://www.cnblogs.com/Walsh/p/wshjay.html
Copyright © 2011-2022 走看看