1. 程式人生 > >【轉】C#獲取當前程式執行路徑的方法集合

【轉】C#獲取當前程式執行路徑的方法集合

//獲取當前程序的完整路徑,包含檔名(程序名)。
string str = this.GetType().Assembly.Location;
result: X:\xxx\xxx\xxx.exe (.exe檔案所在的目錄+.exe檔名)

//獲取新的 Process 元件並將其與當前活動的程序關聯的主模組的完整路徑,包含檔名(程序名)。
string str = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
result: X:\xxx\xxx\xxx.exe (.exe檔案所在的目錄+.exe檔名)

//獲取和設定當前目錄(即該程序從中啟動的目錄)的完全限定路徑。
string str = System.Environment.CurrentDirectory;
result: X:\xxx\xxx (.exe檔案所在的目錄)

//獲取當前 Thread 的當前應用程式域的基目錄,它由程式集衝突解決程式用來探測程式集。
string str = System.AppDomain.CurrentDomain.BaseDirectory;
result: X:\xxx\xxx\ (.exe檔案所在的目錄+"\")

//獲取和設定包含該應用程式的目錄的名稱。(推薦)
string str = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
result: X:\xxx\xxx\ (.exe檔案所在的目錄+"\")

//獲取啟動了應用程式的可執行檔案的路徑,不包括可執行檔案的名稱。
string str = System.Windows.Forms.Application.StartupPath;
result: X:\xxx\xxx (.exe檔案所在的目錄)

//獲取啟動了應用程式的可執行檔案的路徑,包括可執行檔案的名稱。
string str = System.Windows.Forms.Application.ExecutablePath;
result: X:\xxx\xxx\xxx.exe (.exe檔案所在的目錄+.exe檔名)

//獲取應用程式的當前工作目錄(不可靠)。
string str = System.IO.Directory.GetCurrentDirectory();
result: X:\xxx\xxx (.exe檔案所在的目錄)

相關推薦

C#獲取當前程式執行路徑方法集合

//獲取當前程序的完整路徑,包含檔名(程序名)。 string str = this.GetType().Assembly.Location; result: X:\xxx\xxx\xxx.exe (.exe檔案所在的目錄+.exe檔名) //獲取新的 Process 元件並將其與當前活動的程序關聯的主模組的

C#獲取客戶端及服務器端主機信息及其獲取IP地址

string c# forward ria 工具 ip地址 客戶 ext add 原文發布時間為:2009-10-28 —— 來源於本人的百度文章 [由搬家工具導入]小结:1、REMOTE_ADDR 不&

深入瞭解Java程式執行順序

Java中main方法,靜態,非靜態的執行順序詳解1 Java程式執行時,第一件事情就是試圖訪問main方法,因為main相等於程式的入口,如果沒有main方法,程式將無法啟動,main方法更是佔一個獨立的執行緒,找到main方法後,是不是就會執行mian方法塊裡的第一句話呢?答案是不一

C++ 常用的STL查詢函式方法

《effective STL》中有句忠告,儘量用演算法替代手寫迴圈;查詢少不了迴圈遍歷,在這裡總結下常用的STL查詢演算法; 查詢有三種,即點線面: 點就是查詢目標為單個元素; 線就是查詢目標為區間; 面就是查詢目標為集合; 針對每個類別的查

C#自定義控制元件:WinForm將其它應用程式窗體嵌入自己內部

PS:文末的附件已更新,這次我放到部落格園裡面了,不會彈出廣告,放心下載,O(∩_∩)O謝謝! 這是最近在做的一個專案中提到的需求,把一個現有的窗體應用程式介面嵌入到自己開發的窗體中來,看起來就像自己開發的一樣(實際上……跟自己開發的還是有一點點區別的,就是內嵌程式和宿

c#之繼承

none 實現 void 運算符重載 調用方法 需要 strong 靜態 顯式 一.繼承的類型   在面向對象的編程中,有兩種截然不同繼承類型:實現繼承和接口繼承   1.實現繼承和接口繼承   *實現繼承:表示一個類型派生於基類型,它擁有該基類型的所有成員字段和函

C#之集合

tab 並發集合 get spa style con 都在 src 字典  數組(http://www.cnblogs.com/afei-24/p/6738128.html)的大小是固定的。如果元素的個數是動態的,就應使用集合類。     列表(http://www.cn

C# 高性能 TCP 服務的多種實現方式

http c# del sha 開源 https tar .com targe 原文鏈接: http://www.cnblogs.com/gaochundong/p/csharp_tcp_service_models.html 開源庫: https://g

C#計算兩坐標點距離

誤差 param 返回 ear 半徑 tdi col ng2 地球 //地球半徑,單位米 private const double EARTH_RADIUS = 6378137; /// <summary>

C++可變參數列表處理宏va_list、va_start、va_end的使用

sin 不同 struct rto snprintf 指定 cnblogs 最小 多個 VA_LIST是在C語言中解決變參問題的一組宏他有這麽幾個成員: 1)va_list型變量: #ifdef _M_ALPHA typedef struct{ char*  

C語言文件操作詳解

pri void rfi 識別 archive format 隨機 stat 文本文 轉自:http://www.cnblogs.com/likebeta/archive/2012/06/16/2551780.html C語言中沒有輸入輸出語句,所有的輸入輸出功能都用

pythonpython獲取當前日期前後N天或N月的日期

color ont mes form localtime col r+ arr nth 1 # -*- coding: utf-8 -*- 2 3 ‘‘‘獲取當前日期前後N天或N月的日期‘‘‘ 4 5 from time import strfti

C#中的兩把雙刃劍:抽象類和接口

實例 可維護 對象 為什麽不使用 程序 一定的 代碼 方式 索引 轉:http://www.cnblogs.com/djzxjblogs/p/7587735.html 第一次面試的時候, 面試官問我,抽象類和接口的區別。 本人也是,按照面試寶典上的回答,說了一大堆。

C++中const在函數名前面和函數後面的區別

const成員函數 調用 參數傳遞 成員 指向 int 區別 ... urn 一、概念   當const在函數名前面的時候修飾的是函數返回值,在函數名後面表示是常成員函數,該函數不能修改對象內的任何成員,只能發生讀操作,不能發生寫操作。 二、原理:   我們都知道在調用

C# list介紹和用法

php 檢索 排序 c# reac ont 面向對象 類型 大型 一、LIST概述 所屬命名空間:System.Collections.Generic public class List<T> : IList<T>, ICollection

C# 在webapi項目中配置Swagger

rect static void target 來源 public 圖片 網址 class 以前在做WebAPI調用測試時,一直在使用Fiddler測試工具了,而且這個用起來比較繁瑣,需要各種配置,並且不直觀,還有一點是還得弄明白URL地址和要傳遞的參數,然後才能

C++拷貝構造函數詳解

簡單的 之間 其他 創建 變量 tac 動態分配空間 data 產生 一. 什麽是拷貝構造函數 首先對於普通類型的對象來說,它們之間的復制是很簡單的,例如: int a = 100; int b = a; 而類對象與普通對象不同,類對象內部結構一般較為復雜,

BAT取當前日期的前一天

如果 參考 月初 目錄 ons 開始 etime off 差值 ============================取前一天的日期 OK============================@echo off ::前一天的日期,格式化輸出echo ----

C# Linq 交集、並集、差集、去重

log .cn pre tin nio clas int except post 轉自: https://www.cnblogs.com/wdw31210/p/4167306.html using System.Linq; List<string&

C#各個版本中的新增特性詳解

members 托管 分隔符 main 數據 logs ttr dot 提高 轉自:http://www.cnblogs.com/knowledgesea/p/6694979.html 序言 自從2000年初期發布以來,c#編程語言不斷的得到改進,使我們能夠更加清晰的編