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\,有时不一定返回什么东东,我也搞不懂了。
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一样。
对于Windows程序 和Web 应用程序来说,他们运行的路径是不一样的,所以关键是判断当前运行的程序是哪种程序.于是我们可以使用如下的代码 string path = "";
if (System.Environment.CurrentDirectory == appDomain.CurrentDomain.BaseDirectory)//Windows应用程序则相等
{
path = AppDomain.CurrentDomain.BaseDirectory;
}
else
{
path = AppDomain.CurrentDomain.BaseDirectory + "Bin\";
}
这样如果我们写了一个类库,类库中用到了Assembly.LoadFrom,由于是通用类库,所以可能用到Windows程序中也可能用到Web中,那么用上面的代码就很方便了.
1、Server.MapPath
2、System.Windows.Forms.StartupPath
3、Type.Assembly.Location
方法2可以应用于控制台应用程序,WinForm应用程序,Windows服务,方法1可以应用于Web应用程序,方法3都可以应用。
但方法3是加载应用程序的路径。如果是Web应用程序,取得的路径是C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files目录。所以Web项目还是使用Server.MapPath吧。否则建议使用方法2。如果自己新建类库。可以加入对System.Windows.Forms.StartupPath的引用后使用。
分享到:
相关推荐
对于Windows Forms应用程序,StartupPath提供了一个简单的方法来获取应用程序的启动目录,它不包含文件名,仅包含目录部分。这对于查找与应用程序相关的配置文件或资源非常有用。 ### 7. 获取应用程序的可执行文件...
接着,我们访问`Applications`集合,获取默认的应用程序(通常是"/"),并进一步获取虚拟目录的物理路径。 以上内容详细介绍了C#中读取IIS网站物理路径的基本方法,包括`HttpServerUtility.MapPath`和`Microsoft....
有时候还需要获取应用程序的可执行文件路径,以便于进行更精确的资源定位: - **`Process.GetCurrentProcess().MainModule.FileName`**:此方法用于获取当前进程的主模块(通常是启动的应用程序)的文件名和路径。 ...
- `System.Configuration.Install`:提供用于安装、卸载应用程序的类。 - `System.IO`:提供基本的文件输入/输出操作。 - `System.Registry`:提供用于访问注册表的类。 - `System.Collections`:提供集合处理类。 -...
总结,C#获取系统字体名和字体文件名涉及使用.NET Framework的`System.Drawing`命名空间以及可能的第三方库来解析字体文件。通过结合这两个步骤,开发者可以创建应用程序,动态地查询和管理系统的字体资源。这种能力...
在IT领域,尤其是在软件开发中,"获取桌面应用程序"通常是指获取操作系统桌面上显示的快捷方式或图标的程序信息。这个过程涉及到系统编程,特别是与操作系统接口交互的部分。以下是一些相关的知识点: 1. **桌面...
在给定的部分内容中,可以看到这是一个使用C#编写的代码片段,其目的是为了演示如何在ArcEngine环境下通过C#来加载地理数据库,并从中获取网络数据(节点和边),从而为后续实现最短路径算法做准备。 #### 主要代码...
本资源集合分享了C#中最常用的一百多个类库,涵盖了多个关键领域。 1. 文件操作:C#中的System.IO命名空间提供了大量用于文件操作的类,如FileStream、StreamReader和StreamWriter,可进行文件的读写、追加、复制和...
这个类可能使用`IconHelper`来获取图标,并将它们存储在一个集合中,以便在ListView中使用。 `Form1.cs`文件是主窗体的代码,其中包含了一个ListView控件。在这里,我们可能会看到代码片段,这些代码用于加载文件或...
在C#编程中,Windows Forms(WinForm)应用程序可以用于创建桌面用户界面。当你需要获取系统中的环境变量时,这通常涉及到系统配置信息,如管理员权限、当前登录用户信息、系统路径、操作系统详细参数以及处理器相关...
例如,在多线程编程中,了解Thread类和Task类的用法,以及如何控制并发执行和同步,是提高应用程序性能的关键。而在网络通信方面,使用Socket进行TCP/IP通信,或者使用HttpClient进行HTTP请求,是常见的应用场景。...
这将返回一个字符串集合,包含了XML文件中所有文件夹路径。 接下来,我们可以使用`Directory`类(在`System.IO`命名空间中)对每个文件夹路径执行实际操作。例如,如果我们要检查文件夹是否存在,可以使用`...
在C#中操作Word文档,通常使用Microsoft Office Interop库,这是一个允许.NET应用程序与Office应用程序交互的组件。以下是一些关键知识点和实现方法: 1. **引用Microsoft Word对象库**: 在C#项目中,首先需要...
在C#编程中,获取目录中的Word文档列表是一项常见的文件处理任务,这通常涉及到文件I/O操作和文件路径处理。以下是一个详细的实例源码解析,教你如何实现这一功能。 首先,你需要引用`System.IO`命名空间,这个命名...
在C#编程中,多线程是一个至关重要的概念,尤其对于开发高效且响应迅速的应用程序而言。本资源集合提供了一套全面的C#多线程学习资料,包括编程实例实战、线程技术详解以及多线程相关概念的阐述,特别适合于想要深入...
在C#中,线程的使用是实现并发操作的关键技术,能够提高应用程序的效率和响应性。本篇文章将深入探讨C#线程相关的知识点,结合提供的文件名称,我们将涵盖多线程互斥、HTTP通信以及面试中可能遇到的相关问题。 1. *...
在C#中获取程序文件的相关信息是一个十分实用的功能,它可以帮助开发者从编译后的程序集中提取出重要的元数据信息。这些信息包括但不限于程序集的标题、描述、版本号、版权声明、公司信息以及文化背景等。了解如何...
在C#中,可以使用`HttpClient`类发送网络请求,获取地图图片的URL,并将其显示在应用程序的图像控件上。 在位置定位方面,项目可能结合GPS设备或网络定位服务(如IP定位)获取用户的位置信息。一旦获取到经纬度,...
在C#中,`AppDomain.CurrentDomain.BaseDirectory`返回的是应用程序域的基础目录,这通常与程序运行的文件夹相同,但不包括启动的可执行文件名。 了解了如何获取当前程序运行文件夹后,你可以在需要访问本地资源或...