最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中獲取程序路徑的幾種方法及其區(qū)別說明

 更新時間:2023年07月14日 08:37:49   作者:高富帥軍  
這篇文章主要介紹了C#中獲取程序路徑的幾種方法及其區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

在開發(fā)的程序中使用自定義的配置文件屬于基本的操作了,但最近發(fā)現(xiàn)一個問題:如果程序是由用戶通過exe文件直接打開的,獲取同目錄下配置文件不會有問題;

但如果程序是由第三方應用啟動的,通過不同方式獲取的“當前目錄”會有不同。

整理的幾種獲取當前目錄的方式

及官方文檔中的注釋:

string str1=Process.GetCurrentProcess().MainModule.FileName;//獲取模塊的完整路徑。
string str2=Environment.CurrentDirectory;//獲取或設置當前工作目錄的完全限定路徑。
string str3=Directory.GetCurrentDirectory();//獲取應用程序的當前工作目錄。
string str4=AppDomain.CurrentDomain.BaseDirectory;//獲取基目錄,它由程序集沖突解決程序用來探測程序集。
string str5=Application.StartupPath;//獲取啟動了應用程序的可執(zhí)行文件的路徑,不包括可執(zhí)行文件的名稱。
string str6=Application.ExecutablePath;//獲取啟動了應用程序的可執(zhí)行文件的路徑,包括可執(zhí)行文件的名稱。
string str7=AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//獲取或設置包含該應用程序的目錄的名稱。
string str8=this.GetType().Assembly.Location;//獲取包含清單的已加載文件的路徑或UNC位置。

分別通過手動啟動和第三方調(diào)用的方法啟動應用程序(exe文件路徑:D:\test\程序啟動路徑.exe),其值分別為:

手動啟動

Process.GetCurrentProcess().MainModule.FileNameD:\test\程序啟動路徑.exe
Environment.CurrentDirectoryD:\test
Directory.GetCurrentDirectory()D:\test
AppDomain.CurrentDomain.BaseDirectoryD:\test\
Application.StartupPathD:\test
Application.ExecutablePathD:\test\程序啟動路徑.exe
AppDomain.CurrentDomain.SetupInformation.ApplicationBaseD:\test\
this.GetType().Assembly.LocationD:\test\程序啟動路徑.exe

通過Win+R打開運行,輸入程序路徑,或通過bat批處理命令運行,效果與直接打開一致。

C#使用System.Diagnostics.Process.Start()方法啟動

(調(diào)用方路徑:E:\test)

Process.GetCurrentProcess().MainModule.FileNameD:\test\程序啟動路徑.exe
Environment.CurrentDirectoryE:\test
Directory.GetCurrentDirectory()E:\test
AppDomain.CurrentDomain.BaseDirectoryD:\test\
Application.StartupPathD:\test
Application.ExecutablePathD:\test\程序啟動路徑.exe
AppDomain.CurrentDomain.SetupInformation.ApplicationBaseD:\test\
this.GetType().Assembly.LocationD:\test\程序啟動路徑.exe

通過cmd命令行啟動

(cmd命令中直接輸入 D:\test\程序啟動路徑.exe)

Process.GetCurrentProcess().MainModule.FileNameD:\test\程序啟動路徑.exe
Environment.CurrentDirectoryC:\Users\用戶名
Directory.GetCurrentDirectory()C:\Users\用戶名
AppDomain.CurrentDomain.BaseDirectoryD:\test\
Application.StartupPathD:\test
Application.ExecutablePathD:\test\程序啟動路徑.exe
AppDomain.CurrentDomain.SetupInformation.ApplicationBaseD:\test\
this.GetType().Assembly.LocationD:\test\程序啟動路徑.exe

通過LabVIEW中“執(zhí)行系統(tǒng)命令”(System Exec.vi)啟動

Process.GetCurrentProcess().MainModule.FileNameD:\test\程序啟動路徑.exe
Environment.CurrentDirectoryC:\WINDOWS\system32
Directory.GetCurrentDirectory()C:\WINDOWS\system32
AppDomain.CurrentDomain.BaseDirectoryD:\test\
Application.StartupPathD:\test
Application.ExecutablePathD:\test\程序啟動路徑.exe
AppDomain.CurrentDomain.SetupInformation.ApplicationBaseD:\test\
this.GetType().Assembly.LocationD:\test\程序啟動路徑.exe

此方法在不同電腦中表現(xiàn)不一致,沒有對比是操作系統(tǒng)原因還是LabVIEW原因。

在同事電腦上,Environment.CurrentDirectory和Directory.GetCurrentDirectory()方式獲取的路徑為 C:\Users\用戶名\Desktop

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 關(guān)于C#繼承的簡單應用代碼分析

    關(guān)于C#繼承的簡單應用代碼分析

    在本篇文章里小編給大家整理了一篇關(guān)于C#繼承的簡單應用代碼分析內(nèi)容,有興趣的朋友們可以學習下。
    2021-05-05
  • ASP.NET C#中Application的用法教程

    ASP.NET C#中Application的用法教程

    這篇文章主要給大家介紹了關(guān)于ASP.NET C#中Application的用法,在介紹Application的用法之前,先給大家介紹了Session的用法供大家參考學習,文中介紹的非常詳細,需要的朋友們下面跟著小編一起來學習學習吧。
    2017-05-05
  • C#操作mysql數(shù)據(jù)庫的代碼實例

    C#操作mysql數(shù)據(jù)庫的代碼實例

    這篇文章為大家提供了一個C#操作mysql數(shù)據(jù)庫的實例,大家可以參考使用
    2013-11-11
  • C#獲取文件相關(guān)信息的方法

    C#獲取文件相關(guān)信息的方法

    這篇文章主要介紹了C#獲取文件相關(guān)信息的方法,涉及C#中FileInfo類的相關(guān)使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • C#中使用Cache框架快速實現(xiàn)Cache操作

    C#中使用Cache框架快速實現(xiàn)Cache操作

    這篇文章介紹了C#中使用Cache框架快速實現(xiàn)Cache操作的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • C#實現(xiàn)Stripe支付的方法實踐

    C#實現(xiàn)Stripe支付的方法實踐

    本文主要介紹了C#實現(xiàn)Stripe支付的方法實踐,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • c#正反序列化XML文件示例(xml序列化)

    c#正反序列化XML文件示例(xml序列化)

    這篇文章主要介紹了c#正反序列化XML文件示例,可以將對象序列化為XML文本或者文件,或者將XML文件或文本反序列化為對象,要求進行序列化的對象不能出現(xiàn)序列化異常,支持類的嵌套,要求類的屬性為public
    2014-03-03
  • 最新評論

    兴化市| 景宁| 疏附县| 武夷山市| 桐城市| 新巴尔虎左旗| 满洲里市| 库伦旗| 吴忠市| 太白县| 出国| 三河市| 沭阳县| 文成县| 湛江市| 枣阳市| 茶陵县| 稻城县| 曲水县| 红河县| 卢龙县| 昌都县| 海阳市| 锡林浩特市| 健康| 海南省| 桃江县| 平塘县| 潢川县| 安泽县| 宝兴县| 霸州市| 全椒县| 万盛区| 灵武市| 吕梁市| 兴国县| 潞西市| 历史| 高雄县| 迁西县|