一、获取当前文件的路径
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

对于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中,那么用上面的代码就很方便了。

c#获取当前应用程序所在路径相关推荐

  1. C#获取当前应用程序所在路径及环境变量

    一.获取当前文件的路径 先放在这个目录 换个目录: string str1=Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的 ...

  2. C#中获取当前应用程序的路径及环境变量

    2019独角兽企业重金招聘Python工程师标准>>> C#获取当前应用程序所在路径及环境变量 一.获取当前文件的路径 string str1=Process.GetCurrentP ...

  3. Qt 程序获取程序所在路径、用户目录路径、临时文件夹等特殊路径的方法

    Qt 程序获取程序所在路径.用户目录路径.临时文件夹等特殊路径的方法 经常我们的程序中需要访问一些特殊的路径,比如程序所在的路径.用户目录路径.临时文件夹等.在 Qt 中实现这几个功能所用的方法虽然都 ...

  4. qt 获取当前程序运行路径_Qt 程序获取程序所在路径、用户目录路径、临时文件夹等特殊路径的方法...

    Qt 程序获取程序所在路径.用户目录路径.临时文件夹等特殊路径的方法 经常我们的程序中需要访问一些特殊的路径,比如程序所在的路径.用户目录路径.临时文件夹等.在 Qt 中实现这几个功能所用的方法虽然都 ...

  5. Windows Mobile 中怎样获得当前应用程序所在路径

    [1]这是 本人的一点 小小的积累,如果对你有所帮助 请留言....... /// <summary>         /// 获得当前应用程序所在路径         /// </ ...

  6. C# WinForm获取程序所在路径方法

    https://www.cnblogs.com/huhangfei/p/5019634.html

  7. 如何获取微信小程序页面路径

    以下仅供个人学习记录 1.首先需要知道小程序的appId(小程序唯一标识)和secret(秘钥) 2.根据appId和secret去获取微信token 3.根据token.相对页面路径.参数去获取可打 ...

  8. 获取微信小程序页面路径【保姆级教程】

    1.进入微信小程序公众平台,登录账号,点击右上角生成小程序码 微信公众平台 2.输入小程序名称或者小程序的APPID或者原始ID,输入完成,然后点击搜索,然后下一步    3.输入自己的微信号之后,点 ...

  9. 获取微信小程序页面路径的方法

    1. 打开你的微信公众号管理平台 2. 新建图文 3. 插入小程序 4. 根据appid搜索你要获取页面路径的小程序 appid可以点击右上角"...",再在弹出框中点击小程序名称 ...

最新文章

  1. js 让鼠标右下角有一排小字_js布局中一排大字下面接着一排小字怎么打出来?...
  2. 读博士以后如果不去科研岗位,那它的意义在哪里?
  3. Kali Linux安装谷歌浏览器
  4. python3精要(21)-函数(2)
  5. html 展示 python结果_在HTML中显示Python值
  6. WindowsBatch与LinuxShell比较[变量符号和关键字]
  7. 切换网段后,处理用友T6变成演示版故障
  8. 自动化测试的点点滴滴经验积累
  9. Kafka 中 partition replica 默认分配机制
  10. python 字符串转字节_【转】python中的字符串和字节串
  11. nuke linux 插件,NUKE插件-Pos工具包V1.2
  12. Linux: fd_set用法
  13. 【一些有关GraN-DAG的知识点总结】
  14. C++爱心代码(红色)
  15. 用Html+css写一个渐变背景的个人名片
  16. golang go doc 与 godoc 文档生成查看
  17. 为什么https比http更安全?_货车司机拉钢卷时为什么不平放?平放不是更安全吗?...
  18. 投掷骰子的python代码_Python基础篇——模拟掷骰子小游戏
  19. from表单点击submit提交后没有反应
  20. 华为服务器上传文件,云服务器上传文件方式

热门文章

  1. 海驾学车过程全揭秘——第九篇:科目三集训及考试
  2. 一个 人 的 态度 决定 他 成功 的 高度
  3. 在SQL Server2005中进行错误捕捉
  4. leetcode1415. 长度为 n 的开心字符串中字典序第 k 小的字符串(回溯)
  5. leetcode647. 回文子串(动态规划)
  6. 了解如何通过Python使用SQLite数据库
  7. .net 初学者_在此初学者课程中学习使用TensorFlow 2.0开发神经网络
  8. 数据结构两个月学完_这是我作为数据科学家两年来所学到的
  9. 力扣——k个一组翻转链表
  10. 微信小程序开发demo-地图定位