zoukankan      html  css  js  c++  java
  • C#如何获取快捷方式指向的目标文件

    前几天,做个小程序时遇到的问题,在百度上搜索了很久,没有发现好的解决方案,在英文网站上立刻搜到办法,看来还是国外的资源要全面一些,只是Google经常访问不正常,没办法啊。

    C#如何获取快捷方式指向的目标文件”,这个问题在百度上搜索的大多数结果是打开快捷方式文件,把快捷方式文件按字节读入指数组中,然后自己编写代码逐字节读出目标文件路径,这种方法初学者就有点搞不清楚,特别是不了解捷方式文件组织方式的,用这个方法很费劲。

    其实C#解决起来很简单,原理就是利用IWshRuntimeLibrary中的IWshShortcut类,就可以获取快捷方式指向的目标文件了。

    以下是具体步骤:

    一、在项目中添加“Windows Script Host Object Model”的引用

    在项目上单击右键,选择“添加引用”,在“添加引用”对话框中选择“COM”组件选项卡,然后单击选择“Windows Script Host Object Model”,最后确定。在项目中就会出现“IWshRuntimeLibrary”,下面就可以编写代码了。

    技术贴:C#如何获取快捷方式指向的目标文件

    技术贴:C#如何获取快捷方式指向的目标文件

    技术贴:C#如何获取快捷方式指向的目标文件

    二、代码

    用以下代码可以实现了。

    1、首先引用这些:

    using System.IO;
    
    using IWshRuntimeLibrary;

    2、编写函数:

       

    private string 获取快捷方式文件指向的路径(string 快捷方式文件的路径)
            {
                //快捷方式文件的路径 = @"d:Test.lnk";
                if (System.IO.File.Exists(快捷方式文件的路径))
                {
                    WshShell shell = new WshShell();
                    IWshShortcut 当前快捷方式文件IWshShortcut类 = (IWshShortcut)shell.CreateShortcut(快捷方式文件的路径);
                    //快捷方式文件指向的路径.Text = 当前快捷方式文件IWshShortcut类.TargetPath;
                    //快捷方式文件指向的目标目录.Text = 当前快捷方式文件IWshShortcut类.WorkingDirectory;
                    return 当前快捷方式文件IWshShortcut类.TargetPath;
                }
                else
                {
                    return "";
                }
            } 

     

    我参考的英文原文链接:

    http://forums.overclockers.co.uk/showthread.php?t=17966879

  • 相关阅读:
    无线鼠标换电池了
    Jython Interactive Servlet Console YOU WILL NEVER KNOW IT EXECLLENT!!! GOOD
    Accessing Jython from Java Without Using jythonc
    jython podcast cool isnt't it?
    Python里pycurl使用记录
    Creating an Interactive JRuby Console for the Eclipse Environment
    微软为AJAX和jQuery类库提供CDN服务
    Download A File Using Cygwin and cURL
    What is JMRI?这个是做什么用的,我真没看懂但看着又很强大
    用curl 发送指定的大cookie的http/https request
  • 原文地址:https://www.cnblogs.com/DoNetCShap/p/4221854.html
Copyright © 2011-2022 走看看