【C#】关于生成快捷方式的技术问题

做ASP.NET迷你服务器时,最后突然想到如果能够增加一个保存快捷方式的功能的话,以后直接打开服务器,并且设定好一切都会很方便,于是就在MSDN上寻找相关技术文章与教程,最后一无所获,无奈下只能上网找资料了。

最后成功的找到了相关的文章,通过代码了解了生成快捷方式这个技术需要使用Win32API,最后又通过反复试验,最终搞定。

下面是生成快捷方式的代码:

 1 private void label_sckjfs_Click(object sender, EventArgs e)
2 {
3 JiaoYan();
4 if (tingzhi == "true")
5 {
6 tingzhi = "";
7 return;
8 }
9 string path_zhuomian = "";
10 RegistryKey key = Registry.CurrentUser;
11 //打开对应的注册表项,并获取Desktop键的值,这个是用来寻找桌面路径。
12 path_zhuomian = key.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders").GetValue("Desktop").ToString();
13 path_zhuomian = path_zhuomian + "\\";
14 try
15 {
16 //生成WshShell的实例
17 WshShell shell = new WshShell();
18 //CreatShortcut中的参数是生成快捷方式的目录及文件名
19 IWshShortcut kjfs = (IWshShortcut)shell.CreateShortcut(path_zhuomian + TB_KJFS.Text + ".lnk");
20 //快捷方式的目标路径:生成哪个文件的快捷方式,就是哪个文件的目录加文件名
21 kjfs.TargetPath = lujing + banben;
22 //快捷方式的启动参数
23 kjfs.Arguments = canshu;
24 //快捷方式的备注(描述)
25 kjfs.Description = "";
26 //快捷方式的工作目录,就是源程序的目录,和目标路径的目录一样
27 kjfs.WorkingDirectory = @"C:\Program Files\Common Files\microsoft shared\DevServer\10.0";
28 //快捷方式的图标,我还不知道怎样能直接使用ico图标,以及使用当前程序的图标
29 kjfs.IconLocation = "iscsicli.exe,0";
30 //快捷方式的快捷键
31 kjfs.Hotkey = "";
32 //快捷方式的样式
33 kjfs.WindowStyle = 1;
34 //保存快捷方式
35 kjfs.Save();
36 MessageBox.Show("快捷方式生成成功。");
37 }
38 catch
39 {
40 MessageBox.Show("未知错误!");
41 }
42 }

以上就是生成快捷方式的方法,需要引用一个COM组件,Interop.IWshRuntimeLibrary.dll

引用之后就可以使用上面的代码来生成快捷方式了。

转载于:https://www.cnblogs.com/trlanfeng/archive/2011/09/10/2173132.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值