小Q的博客

  • 首页
  • net编程
    • 产品和框架
    • 开发实例
    • 经验技巧
    • 开源组件
  • wp独立站
  • 自媒体
  • 日记本
  • 工具箱
每个程序员,都应该有一个自己的博客站
  1. 首页
  2. net编程
  3. 经验技巧
  4. 正文

net中c#如何通过快捷方式,获取程序所在的路径?

2022年11月22日 236点热度 0人点赞 0条评论

在net的c#中如何通过快捷方式,获取程序的所在路径?其实快捷方式也是为了方便用户打开,而对应用程序做的一个映射,本质上还是指向应用程序所在路径的。今天就用代码实现这个功能,好像用到的地方不太多,就当装个X好了,出去可以忽悠忽悠小白。

程序的快捷方式

我们先把快捷方式放到一个文件夹里,然后调用下面的代码即可

string folder = @"D:\NaviOther\快捷方式2\常用程序";
Dictionary<string, string> dicP1 = FileHelper.GetAppPathByShortcut(folder);
Dictionary<string, string> dicP2 = FileHelper.GetAppPathByShortcut(folder, "navicat.exe");

实现的代码

/// <summary>
/// 根据快捷方式,获取程序所在路径
/// </summary>
/// <param name="folder"></param>
/// <param name="shortCutName"></param>
/// <returns></returns>
public static Dictionary<string, string> GetAppPathByShortcut(string folder, string shortCutName = "")
{
    Dictionary<string, string> dicP = new Dictionary<string, string>();

    string driver = folder.Substring(0, 2);
    folder = folder.Substring(2) + "\\";
    folder = folder.Replace("\\", "\\\\");

    string wsql = "Select * From Win32_ShortcutFile Where Drive='" + driver + "' and Path='" + folder + "'";
    if (!string.IsNullOrEmpty(shortCutName))
    {
        wsql += " and FileName = '" + shortCutName + "'";
    }
    ManagementObjectSearcher searcher = new ManagementObjectSearcher(wsql);
    if (searcher == null)
        return dicP;

    foreach (ManagementObject o in searcher.Get())
    {
        string shortcut = o.GetPropertyValue("Name").ToString();
        string filePath = o.GetPropertyValue("Target").ToString();
        dicP.Add(shortcut, filePath);
    }

    return dicP;
}

 

相关阅读

winform程序调取迅雷下载页面 让你的程序更上档次

标签: c#教程 net教程 快捷方式
最后更新:2022年11月22日

小Q

80后中年不油腻大叔,喜欢编写代码、打羽毛球、做木制玩具。目前定居浙江杭州

打赏 点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2022 小Q的博客. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

浙ICP备2022019157号-2