利用C# 删除桌面上的软件快捷方式 软件c#visual studioupload 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 快捷方式的扩展名是lnk,就跟删普通文件一样删,不用我多说了吧??? http://msdn.microsoft.com/zh-cn/library/14tx8hby(v=vs.110).aspxhttp://msdn.microsoft.com/zh-cn/library/07wt70x2(v=vs.110).aspx 代码我写了,但是在电脑上面运行,如果快捷方式是安装软件的时候自动生成的则无法删除,如果是将生成的快捷方式复制出来一个则复制后的快捷方式可以删除。要删除的快捷方式如下图(例子)代码如下:private void btnDeleteShotCut_Click(object sender, EventArgs e) { //获取AutoCAD软件快捷方式在桌面上的路径 string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); //返回桌面上*.lnk文件的集合 string[] items = Directory.GetFiles(path, "*.lnk", SearchOption.AllDirectories); //遍历集合中的每个文件,如果名称包括“AutoCAD”则将其快捷方式删除。 foreach (string item in items) { if (item.Contains("AutoCAD")) { File.Delete(item); } } MessageBox.Show("AutoCAD软件快捷方式删除成功!"); }各位大神帮忙给看看,谢谢! 有些扩展名是大写的你应该都ToUpper再比较 代码我写了,但是在电脑上面运行,如果快捷方式是安装软件的时候自动生成的则无法删除,如果是将生成的快捷方式复制出来一个则复制后的快捷方式可以删除。要删除的快捷方式如下图(例子)代码如下:private void btnDeleteShotCut_Click(object sender, EventArgs e) { //获取AutoCAD软件快捷方式在桌面上的路径 string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); //返回桌面上*.lnk文件的集合 string[] items = Directory.GetFiles(path, "*.lnk", SearchOption.AllDirectories); //遍历集合中的每个文件,如果名称包括“AutoCAD”则将其快捷方式删除。 foreach (string item in items) { if (item.Contains("AutoCAD")) { File.Delete(item); } } MessageBox.Show("AutoCAD软件快捷方式删除成功!"); }各位大神帮忙给看看,谢谢!你呢,应该断点查看全路径+文件名是否正确,就这几天我也遇到类似问题获取IE临时目录里面的文件不对,要文件路径+文件才对,就你的item获取其文件路径。DirectoryName 你可以查看桌面其他图标属性,可以看到它是在其他目录里面的桌面。如:C:\Users\Public\Desktop\腾讯QQ.lnk再看其他C:\Users\dellwin7\Desktop\ Public那个不是其他目录,是公共目录在XP下叫All Users就是所有用户都可见 foreach (string 文件 in Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.CommonDesktopDirectory), "*.*", SearchOption.AllDirectories)) Console.WriteLine(文件); 还真是这个问题,不在同一个文件夹中,Environment.SpecialFolder.CommonDesktopDirectory与Environment.SpecialFolder.DesktopDirectory这俩个路劲下都有! 软件安装后的快捷方式中属性中有“描述”,该处的信息如何进行读取,我试了FileInfo类没有有成功,具体见下图: 你好,有个读取软件快捷方式的问题,帮忙看一下!谢谢http://bbs.csdn.net/topics/390882919?page=1#post-398165107 关于C#进行十六进制按位取反实现 vs2008 一個解決方案加載項目數量有上限么? 谁能解惑100分相送 数据类型转换 搜索的问题 xml中怎么读取一个子节点有特定值的节点? 有关WPF的一个惊天大BUG!! 如何建设WAP网站,和建设WEB网站相比要注意哪些? 如何将表示字符串的数据流转换成改字符串后添加到ComboBox控件的Items之中去 定义HtmlDocument类时遇到的问题 怎么格式化这种XML? C#怎么设置在每天的17:00触发多个按钮 怎么在父类中调用已经被子类重载的原先的方法,内详
代码我写了,但是在电脑上面运行,如果快捷方式是安装软件的时候自动生成的则无法删除,如果是将生成的快捷方式复制出来一个则复制后的快捷方式可以删除。要删除的快捷方式如下图(例子)
代码如下:private void btnDeleteShotCut_Click(object sender, EventArgs e)
{
//获取AutoCAD软件快捷方式在桌面上的路径
string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
//返回桌面上*.lnk文件的集合
string[] items = Directory.GetFiles(path, "*.lnk", SearchOption.AllDirectories);
//遍历集合中的每个文件,如果名称包括“AutoCAD”则将其快捷方式删除。
foreach (string item in items)
{
if (item.Contains("AutoCAD"))
{
File.Delete(item);
}
}
MessageBox.Show("AutoCAD软件快捷方式删除成功!"); }
各位大神帮忙给看看,谢谢!
你应该都ToUpper再比较
代码我写了,但是在电脑上面运行,如果快捷方式是安装软件的时候自动生成的则无法删除,如果是将生成的快捷方式复制出来一个则复制后的快捷方式可以删除。要删除的快捷方式如下图(例子)
代码如下:private void btnDeleteShotCut_Click(object sender, EventArgs e)
{
//获取AutoCAD软件快捷方式在桌面上的路径
string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
//返回桌面上*.lnk文件的集合
string[] items = Directory.GetFiles(path, "*.lnk", SearchOption.AllDirectories);
//遍历集合中的每个文件,如果名称包括“AutoCAD”则将其快捷方式删除。
foreach (string item in items)
{
if (item.Contains("AutoCAD"))
{
File.Delete(item);
}
}
MessageBox.Show("AutoCAD软件快捷方式删除成功!"); }
各位大神帮忙给看看,谢谢!
你呢,应该断点查看全路径+文件名是否正确,就这几天我也遇到类似问题获取IE临时目录里面的文件不对,要文件路径+文件才对,就你的item获取其文件路径。
DirectoryName
再看其他C:\Users\dellwin7\Desktop\
在XP下叫All Users
就是所有用户都可见
foreach (string 文件 in Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.CommonDesktopDirectory), "*.*", SearchOption.AllDirectories))
Console.WriteLine(文件);
还真是这个问题,不在同一个文件夹中,Environment.SpecialFolder.CommonDesktopDirectory与Environment.SpecialFolder.DesktopDirectory这俩个路劲下都有!
软件安装后的快捷方式中属性中有“描述”,该处的信息如何进行读取,我试了FileInfo类没有有成功,具体见下图:
你好,有个读取软件快捷方式的问题,帮忙看一下!谢谢
http://bbs.csdn.net/topics/390882919?page=1#post-398165107