C# 推荐一种开机自启动的方式

news/2024/9/24 17:12:25/文章来源:https://www.cnblogs.com/tpen/p/18329327
  • 概述(Overview)

  网上多数搜索结果以注册表设置为优先,这个方法需要管理员权限,实际工作中可能并不适用。这个方法是直接写到用户开机自启动目录里,系统开机会带着一起启动。(Most search results on the web are based on registry preferences, which requires administrator privileges and may not be applicable in practice. This method is written directly to the user's boot directory, and the system boot will be started with it.)

  • 代码(Code):

/// <summary>
/// 创建一个快捷方式(用户级别)
/// </summary>
/// <param name="targetPath">目标程序路径.exe</param>
/// <param name="shortcutPath">快捷方式放置路径.lnk</param>
public static bool SetAppAutoRun(bool IsAppAutoStart=true)
{string sourseEXE = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestApp.exe");string startup_ShortcutPath = Environment.GetFolderPath(Environment.SpecialFolder.Startup) + @"\TestApp.lnk";if (IsAppAutoStart)//需要创建开机自启动{if (File.Exists(startup_ShortcutPath)){File.Delete(startup_ShortcutPath);}CreateShortcut(sourseEXE, startup_ShortcutPath);}else{if (File.Exists(startup_ShortcutPath)){File.Delete(startup_ShortcutPath);}}
}/// <summary>
/// 创建一个快捷方式(用户级别)
/// </summary>
/// <param name="targetPath">目标程序路径.exe</param>
/// <param name="shortcutPath">快捷方式放置路径.lnk</param>
private static bool CreateShortcut(string targetPath, string shortcutPath)
{try{
     //反射var shellType = Type.GetTypeFromProgID("WScript.Shell");dynamic shell = Activator.CreateInstance(shellType);var shortcut = shell.CreateShortcut(shortcutPath);shortcut.TargetPath = targetPath;//shortcut.Arguments = "在路径后面追加的参数 空格分隔";//shortcut.Description = "备注信息";//shortcut.WindowStyle = FormWindowState.Normal;//shortcut.IconLocation = "图标路径";shortcut.Save();return true;}catch (Exception ex){return false;} }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/773470.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

70%的人都答错了的面试题,vue3的ref是如何实现响应式的?

最近在我的vue源码交流群有位面试官分享了一道他的面试题:vue3的ref是如何实现响应式的?下面有不少小伙伴回答的是Proxy,其实这些小伙伴只回答对了一半。前言 最近在我的vue源码交流群有位面试官分享了一道他的面试题:vue3的ref是如何实现响应式的?下面有不少小伙伴回答的…

《最新出炉》系列入门篇-Python+Playwright自动化测试-56- 多文件上传 - 下篇

1.简介 前边的两篇文章中,宏哥分别对input控件上传文件和非input控件上传文件进行了从理论到实践地讲解和介绍,但是后来又有人提出疑问,前边讲解和介绍的都是上传一个文件,如果上传多个文件,Playwright是如何实现的呢?宏哥看了一下官方的API也有上传多个文件的API,那么今…

7.28-8.11 中山集训

第一次外地集训欸主要放模拟赛,还有一些简短的记录。 7.29頑張って

GPU的体系结构几个演进

GPU的体系结构几个演进 从体系结构的视角看, GPU的诞生一开始是为了解决访存的问题, 1994年的时候整个图形渲染流水线基本上已经固定成为开放的OpenGL标准。伴随着GeForce 6的发布,Vertex Shader和Pixel Shader都支持了完整分支、循环、预测等功能实现,最终一个完全支持高级渲…

LInux 组合命令小结

cut -d: -f1 /etc/passwd #显示特定行ifconfig lo | grep "inet" | grep -v "inet6" |awk {print $2} #显示回环地址lo地址

一文汇总全球热门新闻API

新闻API通过提供快速、准确和全面的新闻内容,已经成为现代社会不可或缺的一部分,对人们的生活、工作环境和科技发展产生了深远的影响。新闻API使人们能够快速获取来自世界各地的实时新闻和信息,提高了信息的可访问性。通过新闻API,用户可以根据自己的兴趣和偏好接收定制化的…

读零信任网络:在不可信网络中构建安全系统03威胁模型

读零信任网络:在不可信网络中构建安全系统03威胁模型1. 信任管理 1.1. 信任源自于人,并通过计算机可以执行的信任机制流入其他系统 1.1.1. 只有使用系统的人确信它确实按照其意愿忠实地运行,该系统才能被认为是可信的 1.2. 信任管理是零信任…

Pinely Round 4 (Div. 1 + Div. 2)

离上紫一步之遥了这场打完又掉下去了哈哈真是太搞目录写在前面ABCDEF写在最后 写在前面 比赛地址:https://codeforces.com/contest/1991 离上紫一步之遥了这场打完又掉下去了哈哈真是太搞 A 签到。 对于每个位置检查两侧数的数量是否为奇数,若为奇数则无法删的只剩这个位置。…

基于 AnythingLLM 及 Ollama 构建本地知识库

基于 AnythingLLM 及 Ollama 构建本地知识库RAG Ollama AnythingLLM1. 什么是 RAG RAG(Retrieval Augmented Generation)检索增强生成,是 2023 年最火热的 LLM 应用系统架构,它的作用简单来说就是通过检索获取相关的知识并将其融入 Prompt,让大模型能够参考相应的知识从而…

LeetCode98. 验证二叉搜索树

题目链接:https://leetcode.cn/problems/validate-binary-search-tree/description/ 题目叙述: 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效二叉搜索树定义如下:节点的左子树只包含 小于 当前节点的数。 节点的右子树只包含 大于 当前节点的数。…

乒乓球比赛计分程序模拟冲刺(Sprint)计划

模拟冲刺(Sprint)计划选择的小用户故事:赵冠军(运动员)- 实时比分显示张赛事(赛事组织者)- 赛事信息录入王公正(裁判员)- 自动计分与记录一、任务拆分及开发时间(假设为网页版程序): 1. 赵冠军 - 实时比分显示 任务1:设计实时比分显示界面 开发时间:2天任务描述:…