如何使用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下创建快捷方式。
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 = ;
shortcut.Save();
}
}
}
如何使用C#操作快捷方式(获取快捷方式属性、创建快捷方式)的更多相关文章
- jQuery1.9为动态添加元素绑定事件以及获取和操作checkbox的选择属性
1.jQuery为动态添加的元素绑定事件:在1.7之后,添加了live()方法,1.9后又被移除,1.9中可用on()方法: $(function() { $('.btn').on('click', ...
- Python_Selenium之basepage 识别元素、浏览器操作、获取属性、鼠标事件、键盘事件、弹窗、切换frame、切换句柄等封装
#coding=gbkimport osimport timefrom selenium import webdriverfrom selenium.webdriver.common.by impor ...
- 使用C#创建快捷方式
在Windows中创建快捷方式很简单,直接用右键点击文件或文件夹,选择创建快捷方式即可.如果想用C#代码的方式创建,就没有那么方便了,因为.NET框架没有提供直接创建快捷方式的方法. 首先我们看一下快 ...
- JavaFx 创建快捷方式及设置开机启动
原文地址:JavaFx 创建快捷方式及设置开机启动 | Stars-One的杂货小窝 原本是想整个桌面启动器,需要在windows平台上实现开机启动,但我的软件都是jar文件,不是传统的exe文件,也 ...
- Document对象操作、样式、属性、效果、
Windows对象主要是操作浏览器外层的东西,而DOM对象是操作浏览器里面的东西. 如果我们要操作网页内容,那么一定需要操作标签! Document:文档对象模型→DOM:可以做一些特效(抢票的).摘 ...
- JavaScript如何获取css属性
原文:JavaScript如何获取css属性 在web开发中,很多时候我们需要用JavaScript对网页的样式进行修改,接下来,我们就来看一下我们该如何访问css属性,针对不同情况及案例来进行分析. ...
- java中获取系统属性以及环境变量
java中获取系统属性以及环境变量 System.getEnv()和System.getProperties()的差别 从概念上讲,系统属性 和环境变量 都是名称与值之间的映射.两种机制都能用来将用户 ...
- 警告1909。无法创建快捷方式VMware Workstation Pro.Ink。解决方法(附 VMware_workstation 12的安装方法)
电脑之前装过VMware 10,很长时间没用就卸载了,也没有在意卸载的干不干净,直到最近需要用Linux系统,重新安装了VMware 12,就出现下面这样的情况: 警告1909.无法创建快捷方式VMw ...
- VS2019 更新MSDN并创建快捷方式
本文主要记录了 VS2019 中帮助查看器(Help Viewer)相关的内容,如何安装.如何启动.如何复用已有的文档.如何创建快捷方式等内容,通过本文将会对该工具有一个全面的了解. 安装 Help ...
随机推荐
- A beginner’s guide to Cache synchronization strategies--转载
原文地址:http://vladmihalcea.com/2015/04/20/a-beginners-guide-to-cache-synchronization-strategies/ Intro ...
- Linux 下memcache安装及使用
memcache是高性能,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度.据说官方所说,其用户包括twitter.digg.flickr等,都是些互联网大腕呀.目前用memca ...
- .NET自动识别HttpWebResponse的编码及是否压缩
请求和响应头 POST的数据 最近项目使用HttpWebRequest请求网页,处理HttpWebResponse返回消息体,发现网页可能是有GZIP压缩等,所得数据乱码,所以相处了解决方案,大家共同 ...
- 获取json对象的id或者根据name获取id
--用json的时候,知道id获取对应的name或者相反根据name获取id --内核代码 <script> var products=[{ID:1,Name:"a", ...
- [改善Java代码]Java的泛型是类型擦除的
泛型可以减少强制类型的转换,可规范集合的元素类型,还可以提高代码的安全性和可读性,正是因为有了这些优点,自从Java引入泛型之后,项目的编码规则上便多了一条,优先使用泛型. Java泛型(Generi ...
- poj 1185 炮兵阵地 状态压缩dp
思路:定义一个三维数组dp[x][i][j]其中x为now和pre两种状态,now表示当前两行最优解,pre表示出了本行外,前两行的最优解.那么状态转移方程为 dp[now][j][k]=max(dp ...
- poj 2983 差分约束
思路: 设dis[i]为标号为i的点到0号点的距离.对于P A B X,我们能得到等式dis[a]-dis[b]=x,那么可以化为两个不等式dis[a]-dis[b]>=x和dis[b]-dis ...
- ASP.NET播客(留言时间,投票IP,留言限字数,上传视频)
留言发布时间功能: 界面: 前台代码: 在Datalist控件中: 在<%#getIsDate(Convert.ToString(Eval("issuanceDate"))) ...
- 随机提取N条记录[多种数据库方法]
随机提取10条记录的例子: Sql server: select top 10 * from 表 order by newid() Access: SELECT top 10 * FROM 表 ORD ...
- Entity Framework + WCF REST JSON Service
利用EF 和WCF 建立一个REST JSON Service. 首先我们要下载一个Visual Studio 的Template 叫 "ADO.NET C# POCO Entity Gen ...