如何使用C#操作快捷方式(获取快捷方式属性、创建快捷方式)

近来项目中有需要用到一个技术:使用C#操控快捷方式,包含创建和读取等。现整理一下实现方式,分享给大家。

第一步  创建一个项目

无需废话,跳过。

第二步  引用COM组件

右键“引用”,“添加引用”,选择“COM组件”,找到“Windows Script Host Object Model”,然后确定。

第三步  编写创建快捷方式的代码

创建快捷方式
// 声明操作对象
IWshRuntimeLibrary.WshShell shell = new IWshRuntimeLibrary.WshShellClass();
// 创建一个快捷方式
IWshRuntimeLibrary.IWshShortcut shortcut = (IWshRuntimeLibrary.IWshShortcut)shell.CreateShortcut("c:\\yeaicc.lnk");
// 关联的程序
shortcut.TargetPath = "notepad.exe";
// 参数
shortcut.Arguments = "c:\\yeaicc.txt";
// 快捷方式描述,鼠标放到快捷方式上会显示出来哦
shortcut.Description = "我的快捷方式--yeaicc";
// 全局热键
shortcut.Hotkey = "CTRL+SHIFT+N";
// 设置快捷方式的图标,这里是取程序图标,如果希望指定一个ico文件,那么请写路径。
shortcut.IconLocation = "notepad.exe, 0";
// 保存,创建就成功了。
shortcut.Save();

第四步  读取快捷方式属性

IWshRuntimeLibrary.WshShell shell = new IWshRuntimeLibrary.WshShellClass();
IWshRuntimeLibrary.IWshShortcut shortcut = (IWshRuntimeLibrary.IWshShortcut)shell.CreateShortcut("c:\\yeaicc.lnk");
// 亲,根据刚刚创建时的代码,你想获取什么属性?
MessageBox.Show(ws.Description);

================================分割线============================================

C# 创建快捷方式 以下代码在2.0,3.0,3.5 下都可以正常运行,在4.0在报错。

不知道那为仁兄知道在4.0下创建快捷方式。

选择 COM 选项卡并选择 Windows Script Host Object Model

using IWshRuntimeLibrary;

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            string DesktopPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop);//得到桌面文件夹 

            WshShell shell = new WshShell();

            IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(DesktopPath + "\\自动创建+.lnk");

            shortcut.TargetPath = @"%HOMEDRIVE%/Program Files\Internet Explorer\IEXPLORE.EXE";

            shortcut.Arguments = "http://www.baidu.com";// 参数 

            shortcut.Description = "快捷链接到网站";

            shortcut.WorkingDirectory = "E:\\Publish Web Site\\clcs";//程序所在文件夹,在快捷方式图标点击右键可以看到此属性 

            shortcut.IconLocation = @"%HOMEDRIVE%/Program Files\Internet Explorer\IEXPLORE.EXE, 0";//图标 

            shortcut.Hotkey = "CTRL+SHIFT+Z";//热键 

            shortcut.WindowStyle = 1;

            shortcut.Save();

        }

    }

}
时间: 2024-10-09 19:51:04

如何使用C#操作快捷方式(获取快捷方式属性、创建快捷方式)的相关文章

Android创建快捷方式图标

一个方法,在APP需要的时候调用该方法即可: public void createShortcutIconInHomeScreen() { Intent addIntent = new Intent(); addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent()); addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "快捷方式名字"); // 不重复创建快捷方式图标. addI

jQuery1.9为动态添加元素绑定事件以及获取和操作checkbox的选择属性11

1.jQuery为动态添加的元素绑定事件:在1.7之后,添加了live()方法,1.9后又被移除,1.9中可用on()方法: [javascript] view plain copy $(function() { $('.btn').on('click', function() { alert('按钮被点击'); }); $('body').append('<button class="btn">动态添加的按钮</button>'); }); 2.获取check

安卓创建快捷方式相关问题 Intent Intent-filter

Intent 在安卓中,Activity启动时通常需要Intent参数.Intent参数中包含以下几个常用的属性: Component,指定了要启动的Activity,以及启动的context,使用Intent.setClass或Intent.setComponent方法可以设置: Action属性,可用Intent.setAction方法设置: Category属性,可用Intent.addCategory方法添加,Action和Category属性一般用于做过滤: Extra属性,用于传入一

警告1909。无法创建快捷方式VMware Workstation Pro.Ink。解决方法(附 VMware_workstation 12的安装方法)

电脑之前装过VMware 10,很长时间没用就卸载了,也没有在意卸载的干不干净,直到最近需要用Linux系统,重新安装了VMware 12,就出现下面这样的情况: 警告1909.无法创建快捷方式VMware Workstation Pro.Ink. 从网上找了各种办法试过之后都不太理想,后来仔细看看上面的提示,意思是说无法创建快捷方式,可能是用户在快捷方式文件夹的读写权限不够,那就去找到存放快捷方式的文件夹去试试: 就是下面这个路径,就可以找到快捷方式文件夹! C:\ProgramData\Mi

创建快捷方式

这是微软用来创建快捷方式的类库,当在项目中添加Com引用"Windows Script Host Object Model  "时,此类库就会出现在项目中.下面以C#项目为例介绍使用方法: 1.首先要添加引用.  添加引用的方法非常简单,右击你的项目并选择添加引用,  选择 COM 选项卡并选择 Windows Script Host Object Model 2.引用命名空间  using System.Runtime.InteropServices;//互动服务  using IW

js+jquery动态设置/添加/删除/获取元素属性的两种方法集锦对照(动态onclick属性设置+动态title设置)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html140/strict.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title>

WIX配置(二)-创建快捷方式

创建开始菜单快捷方式 与上一节相同,需要先创建目录结构: <Directory Id="ProgramMenuFolder"> <Directory Id="ApplicationProgramsFolder" Name="My Application Name"/> </Directory> 第一个Directory的Id必须为"ProgramMenuFolder"(为windows安装程

java中获取系统属性以及环境变量

java中获取系统属性以及环境变量 System.getEnv()和System.getProperties()的差别 从概念上讲,系统属性 和环境变量 都是名称与值之间的映射.两种机制都能用来将用户定义的信息传递给 Java 进程.环境变量产生很多其它的全局效应,由于它们不仅对Java 子进程可见,并且对于定义它们的进程的全部子进程都是可见的.在不同的操作系统上,它们的语义有细微的区别,比方,不区分大写和小写.由于这些原因,环境变量更可能有意料不到的副作用.最好在可能的地方使用系统属性.环境变

javascript操作html元素CSS属性

下面先记录一下JS控制CSS所使用的方法. 1.使用javascript更改某个css class的属性... <style type="text/css"> .orig { display: none; } </style> 你想要改变把他的display属性由none改为inline. 解决办法: 在IE里: document.styleSheets[0].rules[0].style.display = "inline"; 在firef