C#获取项目程序路径的方法

来源:互联网 发布:福彩3d2017年开奖数据 编辑:程序博客网 时间:2024/05/18 10:49

//获取当前进程的完整路径,包含文件名(进程名)。 

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文件所在的目录) 


1.   System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName 
     获取模块的完整路径。 
2.   System.Environment.CurrentDirectory 

     获取和设置当前目录(该进程从中启动的目录)的完全限定目录。

 3.   System.IO.Directory.GetCurrentDirectory()  

     获取应用程序的当前工作目录。(注:此方法取值不固定,随着OpenFileDialog、 SaveFileDialog等对象所确定的目录而改变) 

4. System.AppDomain.CurrentDomain.BaseDirectory      获取程序的基目录。

5. System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase     获取和设置包括该应用程序的目录的名称。 

6. System.Windows.Forms.Application.StartupPath  

     获取启动了应用程序的可执行文件的路径。效果和2、5一样。只是5返回的字符串后面多了一个"\"而已 

7. System.Windows.Forms.Application.ExecutablePath 
     获取启动了应用程序的可执行文件的路径及文件名,效果和1一样。     


1. webform用 

“Request.PhysicalApplicationPath获取站点所在虚拟目录的物理路径,最后包含“\”; 

2. c# winform用 

A:“Application.StartupPath”:获取当前应用程序所在目录的路径,最后不包含“\”; 

B:“Application.ExecutablePath ”:获取当前应用程序文件的路径,包含文件的名称;

C:“AppDomain.CurrentDomain.BaseDirectory”:获 取当前应用程序所在目录的路径,最后包含“\”; 

D:“System.Threading.Thread.GetDomain().BaseDirectory”: 获取当前应用程序所在目录的路径,最后包含“\”; 

E:“Environment.CurrentDirectory”:获取当前应用程序的路 径,最后不包含“\”; 

F:“System.IO.Directory.GetCurrentDirectory”:获取当前应用程序的路径,最 后不包含“\”; 

3.c# windows service

AppDomain.CurrentDomain.BaseDirectory”或

 “System.Threading.Thread.GetDomain().BaseDirectory”; 

用 “Environment.CurrentDirectory”和“System.IO.Directory.GetCurrentDirectory” 将得到“ system32”目录的路径; 

如果要使用“Application.StartupPath”或 “Application.ExecutablePath”,需要手动添加对“System.Windows.Forms.dll ”的引用,并在程序开头用“using System.Windows.Forms”声明该引用; 

4.在卸载程序获取系统安装的目录: 

System.Reflection.Assembly curPath = System.Reflection.Assembly.GetExecutingAssembly(); 
string path=curPath.Location; //得到安装程序类SetupLibrary文件的路径,获取这个文件路径所在的目录即得到安装程序的目 录;  
////点击鼠标的事件 

ButtonAutomationPeer bap = new ButtonAutomationPeer(_PageList.SearchBtm);  IInvokeProvider iip = 

bap.GetPattern(PatternInterface.Invoke) as IInvokeProvider;

iip.Invoke();

原创粉丝点击