总结C#中得到程序当前工作目录和执行目录的一些方法

程序|执行

 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一样。

时间: 2024-11-08 18:21:04

总结C#中得到程序当前工作目录和执行目录的一些方法的相关文章

C#中得到程序当前工作目录和执行目录的一些方法

程序|执行 1.   System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName     获取模块的完整路径.2.   System.Environment.CurrentDirectory     获取和设置当前目录(该进程从中启动的目录)的完全限定目录.3.   System.IO.Directory.GetCurrentDirectory()      获取应用程序的当前工作目录.这个不一定是程序从中启动的目录啊,有

PHP框架Laravel中实现supervisor执行异步进程的方法

问题描述 大家在使用Laravel框架实现动态网页时,若有些操作计算量较大,为了不影响用户体验,往往需要使用异步方式去处理.这里使用supervisor和laravel自带的queues实现.下面来看看详细的介绍: Supervisor Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动.重启.关闭进程(不仅仅是 Python 进程).除了对单个进程的控制,还可以同时启动.关闭多个进程,比如很不幸的服务器出问题导

init系统中Upstart简介及工作原理说明

本文简要介绍了这三种 init 系统的使用和原理,每个 Linux 系统管理员和系统软件开发者都应该了解它们,以便更好地管理系统和开发应用.本文是系列的第二部分,主要讲述 UpStart 的特点和使用.假如您使用的 Linux 发行版是 Ubuntu,很可能会发现在您的计算机上找不到/etc/inittab 文件了,这是因为 Ubuntu 使用了一种被称为 upstart 的新型 init 系统. 开发 Upstart 的缘由 大约在 2006 年或者更早的时候, Ubuntu 开发人员试图将

[小白技巧]如何在Linux中阻止其它用户访问你的家目录

[小白技巧]如何在Linux中阻止其它用户访问你的家目录 如果你和其他人共享Ubuntu机器,那么你可能要设置多个用户,希望其他用户登录到他们自己的帐号,并只能访问他们自己的家目录.但是,默认情况下,任何一个用户都可以访问任何一个家目录. 当你在Ubuntu中添加一个新用户时,adduser工具为新的帐号添加了一个新的家目录.默认情况下,该目录位于根下面的/home/目录下,并以该帐号的用户名命名.例如,/home/lori.Ubuntu中创建的用户家目录具有其它人可读/执行权限,这就给系统中所

如何提高ASP.NET软件开发中的程序性能

我将不限于只讨论asp.net应用程序的内容,因为它们只是web应用程序的一个子集.本文也不能提供一个完整提高web应用程序性能的指南,因为这需要一本书的篇幅.本文只提供一个提高web应用程序性能的良好的开端.(剩下的只有我们自己慢慢研究了). 在工作这外,我经常去攀岩,在每次攀岩之前,我都会重温一下攀岩线路图及看一下前面的成功的攀岩者的建议.因为我们需要它们的成功经验.同样的,当你需要修改某个有性能问题的程序或者是要开发一个高性能的站点时,你也需要学习怎么样写一个高性能的web应用程序. 我个

一键关闭Windows7所有运行中的程序

当各位经过一天忙碌的工作后,准备关电脑回家的时候却发现Windows 7任务栏上众多正在运行中的程序需要逐个关闭,也许这时候你就在想要是能一下子把它们全关了该多省事.其实,这个想法是完全可以办到的,而且不需要什么特别的软件,自己动动手就可以办到. 首先,在你的Windows 7桌面上右键,新建一个快捷方式,然后输入以下内容: taskkill /F /FI "USERNAME eq PChome" /FI "IMAGENAME ne explorer.exe" /F

在Excel中轻松找到指定工作表两法

平常我们总是习惯于在同一个Excel文档中设计大量表格.工作表标签栏一次最多也就显示五六个工作表名称,即不能排序又不支持查找功能.想直接在标签栏中按名称找工作表可不简单,单是翻页就够你眼睛花的.在此为大家介绍两种在Excel 2007中轻松找到指定工作表的方法. 借助工作表列表 在Excel中本来就有一个提供全部工作表的名称列表,在列表中就可以轻松找到并切换到指定的工作表. 1.显示列表 在工作表标签栏左侧有四个控制标签滚动.翻页的按钮,在此处右击就会弹出一个列表显示当前文档中所有工作表名称.列

在win7系统中运行程序提示应用程序或dll为无效的windows

  咱们日常在操作Windows系统的时候,总是离不开要运行程序.例如咱们经常需要使用到的一些工具,什么杀毒软件,什么QQ聊天软件,什么IE浏览器,什么360软件等等,这些其实都是咱们Windows系统中的程序,所以在Windows系统中运行程序,是每次操作电脑都无法避免的.但是最近,却有使用w764旗舰版系统下载电脑的用户咨询说,自己在使用win7旗舰版系统运行程序时,收到了"应用程序或dll为无效的windows映像"的提示,那么遇到这样的情况,咱们要如何解决呢?下面,小编就来详细

QT中实现程序只运行一个实例--应用程序的单例化

起因 最近想实现一个应用程序单例化的程序, 目前使QT运行一个实例有如下几种方式 1.QSharedMemory 使用共享内存,当第二个进程启动时,判断内存区数据是否建立,如有,则退出; 这种方式有弊端,在程序发生崩溃时,未及时清除共享区数据,导致程序不能正常启动. 2.文件锁 在程序运行的时候就在目录下创建一个文件,当程序运行时就判断这个文件是否存在,如果存在说明程序已经在运行.其本质与QSharedMemory相同 3.利用QLocalServer 参照 Qt实现应用程序单实例运行–Loca