C#如何擷取捷徑指向的目標檔案

來源:互聯網
上載者:User

標籤:

前幾天,做個小程式時遇到的問題,在百度上搜尋了很久,沒有發現好的解決方案,在英文網站上立刻搜到辦法,看來還是國外的資源要全面一些,只是Google經常訪問不正常,沒辦法啊。

“C#如何擷取捷徑指向的目標檔案”,這個問題在百度上搜尋的大多數結果是開啟捷徑檔案,把捷徑檔案按位元組讀入指數組中,然後自己編寫代碼逐位元組讀出目標檔案路徑,這種方法初學者就有點搞不清楚,特別是不瞭解捷方式檔案組織方式的,用這個方法很費勁。

其實C#解決起來很簡單,原理就是利用IWshRuntimeLibrary中的IWshShortcut類,就可以擷取捷徑指向的目標檔案了。

以下是具體步驟:

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

在項目上單擊右鍵,選擇“添加引用”,在“添加引用”對話方塊中選擇“COM”組件選項卡,然後單擊選擇“Windows Script Host Object Model”,最後確定。在項目中就會出現“IWshRuntimeLibrary”,下面就可以編寫代碼了。







二、代碼

用以下代碼可以實現了。

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

C#如何擷取捷徑指向的目標檔案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.