Using the Windows Script Host (make sure to add a reference to the Windows Script Host Object Model, under References > COM tab):using IWshRuntimeLibrary;


private static void AddShortcut()
{
string pathToExe = @"C:\Program Files (x86)\TestApp\TestApp.exe";
string commonStartMenuPath = Environment.GetFolderPath(Environment.SpecialFolder.CommonStartMenu);//or Environment.GetFolderPath(Environment.SpecialFolder.Programs);
string appStartMenuPath = Path.Combine(commonStartMenuPath, "Programs", "TestApp"); if (!Directory.Exists(appStartMenuPath))
Directory.CreateDirectory(appStartMenuPath); string shortcutLocation = Path.Combine(appStartMenuPath, "Shortcut to Test App" + ".lnk");
WshShell shell = new WshShell();
IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(shortcutLocation); shortcut.Description = "Test App Description";
//shortcut.IconLocation = @"C:\Program Files (x86)\TestApp\TestApp.ico"; //uncomment to set the icon of the shortcut
shortcut.TargetPath = pathToExe;
shortcut.Save();
}

例子2:

public static void CreateStartMenuShortcut()
{
string programs_path = Environment.GetFolderPath(Environment.SpecialFolder.Programs);
string shortcutFolder = Path.Combine(programs_path, @"MorganTechSpaceSampleApp");
if (!Directory.Exists(shortcutFolder))
{
Directory.CreateDirectory(shortcutFolder);
} WshShellClass shellClass = new WshShellClass();
//Create First Shortcut for Application Settings
string settingsLink = Path.Combine(shortcutFolder, "Settings.lnk");
IWshShortcut shortcut = (IWshShortcut)shellClass.CreateShortcut(settingsLink);
shortcut.TargetPath = @"C:\Program FilesMorganTechSpaceMyAppSettings.exe";
shortcut.IconLocation = @"C:\Program FilesMorganTechSpacesettings.ico";
shortcut.Arguments = "arg1 arg2";
shortcut.Description = "Click to edit MorganApp settings";
shortcut.Save(); //Create Second Shortcut for Uninstall Setup
string uninstallLink = Path.Combine(shortcutFolder, "Uninstall.lnk");
shortcut = (IWshShortcut)shellClass.CreateShortcut(uninstallLink);
shortcut.TargetPath = @"C:\Program FilesMorganTechSpaceSetup.exe";
shortcut.IconLocation = @"C:\Program FilesMorganTechSpaceuninstall.ico";
shortcut.Arguments = "u";
shortcut.Save();
}

  



c# 创建快捷方式并添加到开始菜单程序目录的更多相关文章

  1. 如何在Linux的桌面上创建快捷方式或启动器

    如果在Linux桌面系统中你经常使用一个程序,你可能想去创建一个“桌面快捷方式”,以便于你在桌面只要点击一下快捷方式就可以启动它.虽然不少带有图形界面的程序会在安装时自动在桌面上创建快捷方式,还有一些 ...

  2. VC++创建快捷方式、删除快捷方式、添加开始菜单程序组菜单并删除程序组菜单的实例

    转载:http://www.codefans.net/articles/1435.shtml 转载:http://www.cnblogs.com/morewindows/archive/2011/08 ...

  3. 使用C#创建快捷方式

    在Windows中创建快捷方式很简单,直接用右键点击文件或文件夹,选择创建快捷方式即可.如果想用C#代码的方式创建,就没有那么方便了,因为.NET框架没有提供直接创建快捷方式的方法. 首先我们看一下快 ...

  4. linux桌面创建快捷方式

    1使用命令行创建桌面快捷方式 要为特定程序或命令创建桌面快捷方式,你可以使用任意文本编辑器创建一个.desktop文件,然后把它放到/usr/share/applications或者~/.local/ ...

  5. VS2019 更新MSDN并创建快捷方式

    本文主要记录了 VS2019 中帮助查看器(Help Viewer)相关的内容,如何安装.如何启动.如何复用已有的文档.如何创建快捷方式等内容,通过本文将会对该工具有一个全面的了解. 安装 Help ...

  6. VC 为程序创建快捷方式的详细讲解

    有时候,为了方便用户使用我们编写的程序,需要在桌面,快速启动或程序组中创建程序的快捷方式.下面就介绍在VC下如何为程序创建快捷方式. 一.得到桌面,快速启动或程序组的路径这里介绍二个win32 API ...

  7. 右键发送 (sendto),创建快捷方式到自定义的位置,不仅仅是复制,就像 发送到 桌面快捷方式 一样

    TL;DR 在 SendTo 文件夹里加上一文件夹的快捷方式后,在右键发送到这个文件夹的是这些文件的一个副本,实际上是一个复制的过程,有时候我们只希望是快捷方式,那就得另想办法了. 方案如下: 创建一 ...

  8. c# 纯代码方式创建快捷方式

    using System; using System.Collections.Generic; using System.Text; using Microsoft.Win32; using Syst ...

  9. Beyond Compare3 添加到右键菜单

    Beyond Compare 是个优秀的工具,我们经常用于对比文件和文件夹,右键点点就可以调用对比,着实很方便.但从3.2版本之前,我们可以从设置中将bc关联到文件夹和文件右键,但之后的版本已经找不到 ...

  10. Ubuntu系统应用程序创建快捷方式的方法

    大家安装了最新版的Ubuntu 14.0系统之后可能觉得很不习惯,因为Ubuntu的桌面干干净净没有任何快捷方式,任务栏的图标拖不下来,右键点击程序图标也没有创建快捷方式的菜单选项: 那如何把自己经常 ...

随机推荐

  1. IntelliJ IDEA 2024激活码(亲测有效,仅供学习和交流)

    资源是从官网购买,仅供学习和交流 激活码链接地址

  2. ABC372 (D,E)

    ABC372 (D,E) D 一道比较简单的二分查找题目. 观察到每个数能成为 \(j\) 的条件是独立的,因此想到统计每个数能成为它前面哪些数的 \(j\). 对于每个\(ed​\), 二分 \(1 ...

  3. 【转载】碰碰彭碰彭Jingxuan —— 带中国古筝走上戛纳红毯

    视频地址: https://www.youtube.com/shorts/gl796527H1I

  4. 用Python创建一个简单的Web服务器

    基本思路: 在浏览器地址栏通过输入本机地址:http://127.0.0.1:8000 能够访问我们自己创建的Web服务器,并且给浏览器返回一句Hello World 代码实现: 1 import s ...

  5. 计算机网络基础/进制转换/企业级子网IP划分

    数制的含义 数制:计数的方法,指用一组固定的符号和统一的规则来表示数值的方法 数位:指数字符号在一个数中所处的位置 基数:指在某种进位计数制中,数位上所能使用的数字符号的个数 位权:指在某种进位计数制 ...

  6. docker番外篇-最详细的安装及部署项目教程(net framework,netcore,java,nodejs,静态html,mysql,redis,私有仓库,https免费证书等)

    目录 本地widows(win11)docker环境安装 安装Docker Desktop 服务器liunx(ubuntu)docker环境安装 安装nginx 安装docker环境 安装docker ...

  7. Python源码分析2 - 一个简单的Python程序的执行

    本文主要通过跟踪一个非常简单的Python程序的执行,简单讨论Python实现的基本框架和结构. 要执行Python程序如下,功能非常简单:从1加到10再打印出来 # test program sum ...

  8. 时序数据库之InfluxDB

    涉及用户认证: shangmayuan.com/a/1056241c80ef4dfc9cef830d.html

  9. DevEco Studio:状态管理与事件处理

    DevEco Studio:状态管理与事件处理 引言 在现代前端开发中,状态管理和事件处理是构建交互式应用的核心.DevEco Studio,作为华为推出的开发环境,支持开发者使用TypeScript ...

  10. 盘点一下在swagger中一些有用且经常忽略的属性

    震惊!,这些Swagger的属性你都了解吗? 盘点一下在swagger中一些有用且经常忽略的属性 启用永久授权EnablePersistAuthorization app.UseSwaggerUI(c ...