`

c#获取应用程序目录

C# 
阅读更多
string str1 =Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名。 
string str2=Environment.CurrentDirectory;//获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。
//备注 按照定义,如果该进程在本地或网络驱动器的根目录中启动,则此属性的值为驱动器名称后跟一个尾部反斜杠(如“C:\”)。如果该进程在子目录中启动,则此属性的值为不带尾部反斜杠的驱动器和子目录路径(如“C:\mySubDirectory”)。
string str3=Directory.GetCurrentDirectory();//获取应用程序的当前工作目录。
string str4=AppDomain.CurrentDomain.BaseDirectory;//获取基目录,它由程序集冲突解决程序用来探测程序集。
string str5=Application.StartupPath;//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。
string str6=Application.ExecutablePath;//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。
string str7=AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//获取或设置包含该应用程序的目录的名称。

一、获取当前文件的路径

1.   System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName
     获取模块的完整路径,包括文件名。
2.   System.Environment.CurrentDirectory
     获取和设置当前目录(该进程从中启动的目录)的完全限定目录。
3.   System.IO.Directory.GetCurrentDirectory()
     获取应用程序的当前工作目录。这个不一定是程序从中启动的目录啊,有可能程序放在C:/www里,这个函数有可能返回C:/Documents and Settings/ZYB/,或者C:/Program Files/Adobe/,有时不一定返回什么东东,这是任何应用程序最后一次操作过的目录,比如你用Word打开了E:/doc/my.doc这个文 件,此时执行这个方法就返回了E:/doc了。
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一样。

二、操作环境变量

利用System.Environment.GetEnvironmentVariable()方法可以很方便地取得系统环境变量,如:
System.Environment.GetEnvironmentVariable("windir")就可以取得windows系统目录的路径。
以下是一些常用的环境变量取值:
System.Environment.GetEnvironmentVariable("windir");
System.Environment.GetEnvironmentVariable("INCLUDE");
System.Environment.GetEnvironmentVariable("TMP");
System.Environment.GetEnvironmentVariable("TEMP");
System.Environment.GetEnvironmentVariable("Path");

最后贴出我进行上面操作获得的变量值,事先说明,本人是编写了一个WinForm程序,项目文件存放于D:/Visual Studio Projects/MyApplication/LifeAssistant,编译后的文件位于D:/Visual Studio Projects/MyApplication/LifeAssistant/bin/Debug,最后的结果如下:
1、 System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName=D:/Visual Studio Projects/MyApplication/LifeAssistant/bin/Debug/LifeAssistant.exe
2、System.Environment.CurrentDirectory=D:/Visual Studio Projects/MyApplication/LifeAssistant/bin/Debug
3、System.IO.Directory.GetCurrentDirectory()=D:/Visual Studio Projects/MyApplication/LifeAssistant/bin/Debug
4、System.AppDomain.CurrentDomain.BaseDirectory=D:/Visual Studio Projects/MyApplication/LifeAssistant/bin/Debug/
5、 System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase=D:/Visual Studio Projects/MyApplication/LifeAssistant/bin/Debug/
6、System.Windows.Forms.Application.StartupPath=D:/Visual Studio Projects/MyApplication/LifeAssistant/bin/Debug
7、 System.Windows.Forms.Application.ExecutablePath=D:/Visual Studio Projects/MyApplication/LifeAssistant/bin/Debug/LifeAssistant.exe
System.Environment.GetEnvironmentVariable("windir")=C:/WINDOWS
System.Environment.GetEnvironmentVariable("INCLUDE")=C:/Program Files/Microsoft Visual Studio .NET 2003/SDK/v1.1/include/
System.Environment.GetEnvironmentVariable("TMP")=C:/DOCUME~1/zhoufoxcn/LOCALS~1/Temp
System.Environment.GetEnvironmentVariable("TEMP")=C:/DOCUME~1/zhoufoxcn/LOCALS~1/Temp
System.Environment.GetEnvironmentVariable("Path")=C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;C:/jdk1.5.0/bin;C:/MySQLServer5.0/bin;C:/Program Files/Symantec/pcAnywhere/;C:/Program Files/Microsoft SQL Server/80/Tools/BINN
分享到:
评论

相关推荐

    C# 获取应用程序超大高清高分辨率图标

    本文将深入探讨如何使用C#获取应用程序的超大高清高分辨率图标,并介绍一个具有高复用性的实现方法。 首先,我们需要理解Windows操作系统中图标的概念。每个应用程序都有一个或多个图标资源,这些图标在不同尺寸下...

    C#Web应用程序入门经典_程序设计

    《C# Web应用程序入门经典_程序设计》是一本专为初学者设计的IT技术书籍,主要涵盖了使用C#语言开发Web应用程序的基础知识和实践技巧。这本书对于那些希望通过学习C#来构建动态、交互式Web应用的读者来说,是理想的...

    C# 动态获取当前程序的图标

    在C#编程中,动态获取当前程序的图标是一项常见的任务,尤其对于开发用户界面的应用程序而言。图标作为软件的视觉标识,能够为用户提供直观的识别信息。本篇将详细讲解如何在C#中获取程序的图标,以及如何获取图标的...

    C#跨应用程序调用。项目可以启动其他程序获取输出

    本文将深入探讨如何使用C#进行跨应用程序调用,并获取其他程序的输出。 首先,我们可以通过使用`System.Diagnostics.Process`类来启动一个外部应用程序。这个类提供了启动、管理和控制进程的能力。下面是如何创建并...

    C#获取当前程序所在的文件夹

    6. **AppDomain.CurrentDomain.BaseDirectory**:除了`Assembly.Location`,还可以使用`AppDomain.CurrentDomain.BaseDirectory`获取当前应用程序域的基础目录,这对于部署在非执行文件所在目录的资源特别有用。...

    C#获取其他程序ListView控件中的内容

    在IT行业中,C#是一种广泛使用的编程语言,尤其在Windows应用程序开发中,它与.NET Framework紧密结合,提供了丰富的功能。在Windows GUI(图形用户界面)编程中,ListView控件是常用的组件,用于显示列表数据,包括...

    C# 通过注册表读取系统中安装的应用程序

    然而,需要注意的是,注册表不是获取应用程序信息的唯一途径。自Windows Vista开始,系统还提供了一个称为“应用程序事件日志”的更安全的机制(Application Programming Interface Catalog,简称APICatalog)。但...

    C#自编获取Windows任务管理器所有应用程序名称

    在本文中,我们将深入探讨如何使用C#编程语言来实现获取Windows任务管理器中的所有应用程序名称。这个功能在系统监控、性能分析或者自动化脚本中可能会非常有用。首先,我们需要理解Windows API(应用程序接口)的...

    C# 获取文件路径

    1. `HttpRuntime.AppDomainAppPath.ToString()`:获取承载在当前应用程序域中的应用程序的应用程序目录的物理驱动器路径。用于 App_Data 中获取。 2. `Server.MapPath("")` 或 `Server.MapPath("~/")`:返回与 Web ...

    c#获取当前应用程序所在路径,C#源代码。

    在C#编程中,获取当前应用程序所在路径是一个常见的需求,特别是在读取配置文件、资源文件或者创建日志文件时。本文将深入探讨如何利用C#的内置类和方法来实现这一功能,并提供相关的源代码示例。 首先,C#中的`...

    C#写的获取当前文件ICO图标的程序

    总结来说,C#获取文件ICO图标是一个涉及到文件I/O、图像处理和系统API交互的过程。通过使用像IcoHelper这样的辅助类,开发者可以高效且简洁地完成这项任务。对于那些有兴趣深入了解此话题的人,可以进一步研究C#的P/...

    C#的path.GetFullPath 获取上级目录实现方法

    对于桌面应用程序,如WinForms,可以使用 `Environment.CurrentDirectory` 获取当前执行程序的目录,然后结合 `Path.GetFullPath` 来获取上级目录。例如: ```csharp string currentDirectory = Environment....

    C#获取运行程序路径

    如果是在Windows Forms应用程序中,可以使用`System.Windows.Forms.Application.StartupPath`来获取应用程序启动时所在的目录。这对于基于Windows Forms的应用程序来说是非常有用的,特别是当需要访问特定于应用程序...

    用C#实现获取控制台应用程序的显示结果

    要实现获取控制台应用程序的显示结果,我们需要理解C#中的输入、输出和进程管理相关的概念。这里我们将详细探讨如何实现这个功能,以及在处理过程中可能遇到的安全问题。 首先,控制台应用程序的核心是`Console`类...

    C# 获取系统路径如“我的文档”

    4. **获取应用程序的基础目录** ```csharp System.AppDomain.CurrentDomain.BaseDirectory ``` 返回当前应用程序域的基础目录,通常为应用程序的输出目录,类似于`System.Environment.CurrentDirectory`,但更...

    获取程序所在目录 C#

    在本文中,我们将详细探讨八种不同的方法来获取C#应用程序的当前执行目录。 1. **Assembly.GetExecutingAssembly().Location** 这个方法返回当前正在执行的程序集(Assembly)的完整路径。`Location`属性提供了...

    C# Windows 应用程序配置文件 App.Config

    在C#编程中,应用程序配置文件(App.Config)是一个至关重要的元素,它允许开发者存储和管理应用程序的设置,如数据库连接字符串、API密钥、用户首选项等。这些配置可以在不重新编译代码的情况下更改,增加了软件的...

    C#获取程序运行路径的几种方式

    有时候还需要获取应用程序的安装目录,这可以通过反射来实现: ```csharp System.Reflection.Assembly curPath = System.Reflection.Assembly.GetExecutingAssembly(); string path = curPath.Location; // 获取...

    C#编写基本目录功能应用程序

    本主题聚焦于使用C#编写一个基本的目录功能应用程序,这是一个基础且实用的技能,对于初学者来说是一个很好的起点。目录功能通常涉及到文件和目录的管理,包括创建、读取、更新和删除(CRUD)操作。以下将详细讲解...

    服务端(C#)获取小程序(微信、字节跳动)手机号

    - **C#**:一种面向对象的编程语言,广泛用于Windows桌面应用程序及Web应用程序开发。 - **服务端**:处理客户端请求并提供数据和服务的一方。 #### 重要注意事项 在进行手机号获取操作之前,请确保遵循以下原则: ...

Global site tag (gtag.js) - Google Analytics