• C# 程序开机自动启动


    1 非管理员运行的程序最简单的是在C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 路径下放入超链接即可

    2 默认管理员运行的程序

      (1)在程序的app.manifest中设置如下

     "requireAdministrator" uiAccess="false" />

       (2)在程序的启动时调用如下代码

       

    1. var starupPath = GetType().Assembly.Location;//获得程序路径其他方式也可以
    2. try
    3. {
    4. var fileName = starupPath;
    5. var shortFileName = fileName.Substring(fileName.LastIndexOf('\\') + 1);
    6. //打开子键节点
    7. var myReg = Registry.LocalMachine.OpenSubKey(
    8. "SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Run", RegistryKeyPermissionCheck.ReadWriteSubTree,
    9. RegistryRights.FullControl);
    10. if (myReg == null)
    11. {
    12. //如果子键节点不存在,则创建之
    13. myReg = Registry.LocalMachine.CreateSubKey("SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Run");
    14. }
    15. if (myReg != null && myReg.GetValue(shortFileName) != null)
    16. {
    17. //在注册表中设置自启动程序
    18. myReg.DeleteValue(shortFileName);
    19. myReg.SetValue(shortFileName, fileName);
    20. }
    21. else if (myReg != null && myReg.GetValue(shortFileName) == null)
    22. {
    23. myReg.SetValue(shortFileName, fileName);
    24. }
    25. }
    26. catch
    27. {
    28. }

    这里需要注意的是

    (1)你的程序是32位的注册表路径是
              "SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Run"

    (2) 你的程序是64位的注册表路径是

              "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"

    这样设置后你的程序仍然没有启动?

    这时可能和你的程序调用了你程序文件夹下的文件有关系,这时可以写一个run.bat脚本,在脚本中先cd到你的程序路径,然后启动程序,最后把run.bat的超链接放在C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp中

    bat的内容例子如下:

    1. C:
    2. cd C:\Users\user\Desktop\Debug
    3. chcp 65001
    4. @setlocal enableextensions enabledelayedexpansion
    5. @echo off
    6. set m_path="C:\Users\user\Desktop\Debug\program.exe"
    7. echo !m_path!
    8. echo 开始启动...
    9. start "" !m_path!
    10. echo "结束"
    11. exit

  • 相关阅读:
    Apollo自动驾驶系统概述(文末参与活动赠送百度周边)
    海量数据处理
    混沌系统在图像加密中的应用(小波混沌神经网络)
    浅谈事件冒泡前世今生
    【web-攻击本地编译性应用程序】(11.3)格式化字符串漏洞
    C语言双向链表
    no identity-based policy allows the cloudformation:CreateStack action
    zookeeper启动报错
    C# 共享项目的应用
    python | xlsxwriter,一个实用的 Python 库!
  • 原文地址:https://blog.csdn.net/wxtcstt/article/details/126605196