C# 给当前程序创建桌面快捷方式
C# 给当前程序创建桌面快捷方式
//by wgscd
//date 2024-10-22
using System;
using System.Reflection;
using System.IO;
namespace TestApp
{
public class AppShortcutHelper
{ private static string lnkFullPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), Config.softTitle + ".lnk");
/// <summary>
/// 给当前程序创建快捷方式
/// </summary>
/// <param name="lnkFullPath">快捷方式绝对路径</param>
/// <param name="startupArgs">快捷方式启动参数</param>
public static void CreateShortcut()
{
try
{
string exeName = $"{Assembly.GetExecutingAssembly().GetName().Name}.exe";
var exeDir = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
var shellType = Type.GetTypeFromProgID("WScript.Shell");
dynamic shell = Activator.CreateInstance(shellType);
var shortcut = shell.CreateShortcut(lnkFullPath);
// 工作目录和目标路径可以自由指定,注意TargetPath必须是exe的绝对路径
shortcut.WorkingDirectory = exeDir;
shortcut.TargetPath = Path.Combine(exeDir, exeName);
shortcut.Arguments = "";
shortcut.Save();
}
catch
{ } }
public static bool Exists()
{
return File.Exists(lnkFullPath);
} }
}
调用:
if (!AppShortcutHelper.Exists())
{
AppShortcutHelper.CreateShortcut();
}
C# 给当前程序创建桌面快捷方式的更多相关文章
- android 为应用程序创建桌面快捷方式技巧分享
手机装的软件过多,找起来很不方便,所以在主页面有一个快捷方式的话会很不错的,本文将介绍如何实现,需要了解跟多的朋友可以参考下 我们开发一款软件后,如果手机装的软件过多,去翻的话会很难翻的,所以 ...
- Inno Setup入门(四)——为程序创建桌面快捷方式
Icons这一可选段定义所有创建在开始菜单和\或其它位置 (比如桌面) 的快捷方式.一个例子如下: [setup] ;全局设置,本段必须 AppName=Test AppVerName=TEST De ...
- Centos 7(linux)系统下如何给jar应用程序创建桌面快捷方式
1.创建系统自带的应用程序快捷方式 对于系统自带的应用程序,其桌面快捷方式存储的位置为以下三个目录中的其中一个: /usr/share/applications ~/.local/share/appl ...
- Inno Setup入门(四)——为程序创建桌面快捷方式
Icons这一可选段定义所有创建在开始菜单和\或其它位置 (比如桌面) 的快捷方式.一个例子如下: [setup] ;全局设置,本段必须 AppName=Test AppVerName=TEST De ...
- (转)Inno Setup入门(四)——为程序创建桌面快捷方式
本文转载自:http://blog.csdn.net/augusdi/article/details/8564810 Icons这一可选段定义所有创建在开始菜单和\或其它位置 (比如桌面) 的快捷方式 ...
- WPF 创建桌面快捷方式
#region 创建桌面快捷方式 string deskTop = System.Environment.GetFolderPath(System.Environment.SpecialFolder. ...
- 解决Inno Setup制作安装包无法创建桌面快捷方式的问题
转自:http://yedward.net/?id=104 昨天想把个java程序做成exe安装软件,然后就去下载了Inno Setup这个软件安装包制作软件,Inno Setup这个软件确实非常好用 ...
- C#创建桌面快捷方式 和 开机启动
/// <summary> /// 创建桌面快捷方式 2010-11-25 /// </summary> p ...
- 手把手教你在ubuntu下创建桌面快捷方式
习惯使用windows的朋友来说创建桌面快捷方式简直就是so easy, 鼠标右键点击文件-->选择发送桌面快捷方式.就OK了.对于ubuntu下该如何创建桌面快捷方式呢?以下以创建eclips ...
- c#: 创建桌面快捷方式
App适配输出方式时发现问题,聊做备忘. 需要注意的是:不要直接引用Interop.IWshRuntimeLibrary.dll程序集,因为它可能是x86或x64的,倘若程序以Any CPU方式编译, ...
随机推荐
- AI赋能-《用ChatGPT做软件测试》新书上市
图书链接京东: https://item.jd.com/10121763192532.html当当: http://product.dangdang.com/29797547.html内容简介本书以目 ...
- 在PyCharm中打包Python项目并将其运行到服务器上的方法
在PyCharm中打包Python项目并将其运行到服务器上的方法 在PyCharm中打包Python项目并将其运行到服务器上的过程,可以分解为几个关键步骤:创建项目.设置项目依赖.打包项目.配置服务器 ...
- P4690 Ynoi2016 镜中的昆虫
P4690 Ynoi2016 镜中的昆虫 原题不会见祖宗. 前置 珂朵莉树.cdq 分治.树状数组 思路 单点修改区间查询 定义 \(pre_i\) 表示 \(col_i\) 的前一个一样颜色的位置, ...
- Hello Markdown(完结)
Hello Markdown Markdown是一种轻量级的「标记语言」. 专注于文字内容: 纯文本,易读易写,可以方便地纳入版本控制: 语法简单,没有什么学习成本,能轻松在码字的同时做出美观大方的排 ...
- DB2 pureXML 动态编程组合拳:iBatis+BeanUtils+JiBX
黄耀华, 软件工程师, IBM 李玉明 (ymli@cn.ibm.com), 软件工程师, Systems Documentation, Inc. (SDI) 袁飞 (feiyuan@cn.ibm.c ...
- Fork/Join框架之Fork、Join操作
Fork Fork就是一个不断分枝的过程,在当前任务的基础上长出n多个子任务. 当一个ForkJoinTask任务调用fork()方法时,当前线程会把这个任务放入到queue数组的queueTop位置 ...
- 使用阿里的ARTHAS跟踪方法耗时
使用命令跟踪一个方法的耗时 在arthas 命令行下输入命令 trace 类全路径 监控的方法 trace com.redxun.bpm.core.service.BpmInstServiceImpl ...
- 攻防世界:web习题之xff_referer
攻防世界:web习题之xff_referer 题目内容 https://adworld.xctf.org.cn/challenges/list 这道题的网页会首先会显示: 当成功修改ip地址之后会提示 ...
- Rocky Linux9.5部署k8s1.28.2+docker
yum换源sed -e 's|^mirrorlist=|#mirrorlist=|g' \ -e 's|^#baseurl=http://dl.rockylinux.org/$contentdi ...
- SQLServer创建用户后无法登录,报错18456的解决方式
原因:SQLServer没有设置为混合模式. 解决方法: 服务器本地通过Windows验证,打开SQLServer 右键服务器,选择安全性,选择为混合验证模式,然后重启SQLServer服务即可.