首页 > 编程语言 >获取C#当前程序所在目录的方法

获取C#当前程序所在目录的方法

时间:2022-08-30 20:55:46浏览次数:70  
标签:exe string C# xxx System 获取 str 目录

一、获取完整包含执行程序的路径:exe文件所在的目录+.exe文件名

1、方法1:Type.Assembly.Location

//获取当前进程的完整路径,包含文件名(进程名)。
string str = this.GetType().Assembly.Location;

结果:X:\xxx\xxx\xxx.exe(.exe文件所在的目录+.exe文件名)

2、方法2:System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName

//获取新的 Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名)。
string str = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;

结果:X:\xxx\xxx\xxx.exe(.exe文件所在的目录+.exe文件名)

3、方法3:System.Windows.Forms.Application.ExecutablePath

//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。
string str = System.Windows.Forms.Application.ExecutablePath;

结果:X:\xxx\xxx\xxx.exe(.exe文件所在的目录+.exe文件名)

 

二、获取当前程序所在路径:exe文件所在的目录(不包含xxx.exe)

1、方法1:System.Environment.CurrentDirectory

//获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。
string str = System.Environment.CurrentDirectory;

结果:X:\xxx\xxx(.exe文件所在的目录)

2、方法2:System.AppDomain.CurrentDomain.BaseDirectory

//获取当前 Thread 的当前应用程序域的基目录,它由程序集冲突解决程序用来探测程序集。
string str = System.AppDomain.CurrentDomain.BaseDirectory;

结果:X:\xxx\xxx(.exe文件所在的目录)

3、方法3:System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase

//获取和设置包含该应用程序的目录的名称。
string str = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;

结果:X:\xxx\xxx\(.exe文件所在的目录+"\")

4、方法4:System.Windows.Forms.Application.StartupPath

//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。
string str = System.Windows.Forms.Application.StartupPath;

结果:X:\xxx\xxx(.exe文件所在的目录)

5、方法5:System.IO.Directory.GetCurrentDirectory()

//获取应用程序的当前工作目录(不可靠)。
string str = System.IO.Directory.GetCurrentDirectory();

结果:X:\xxx\xxx(.exe文件所在的目录)

转载自:https://www.cnblogs.com/adamgq/p/16580480.html

标签:exe,string,C#,xxx,System,获取,str,目录
From: https://www.cnblogs.com/TaiXiaohai/p/16640772.html

相关文章

  • java的Scanner中next()与nextLine()的区别
    1.区别最近在做笔试题的时候需要自己写输入,所以碰到了在输入字符串的时候无法输入的问题。所以赶紧来补习功课。先说结果next()不可以接受空格、回车以及Tab,但是得等到有......
  • 【ElasticSearch】常用的JAVA API(长期更新)
    背景主要介绍和整理ElasticSearch常用的API环境SpringBoot2.1+MavenMaven依赖<dependency><groupId>org.elasticsearch</groupId>......
  • SpringMvc请求流程源码解析
    目录SpringMvc请求流程图请求流程粗讲解方法细讲doDispatcher-->核心找到Handler#getHandlergetHandler(request)mapping.getHandler(request)getHandlerInternal()looku......
  • SIFT 特征提取与匹配研究 | 国科大CV项目
    本项目SIFT代码实现参考了视频讲解及其开源实现,仅使用了两个基本Python库,分别用于矩阵等数值计算和结果绘图展示。特征点匹配算法基于自行实现的最近邻算法,避免引入sklearn......
  • GitHub代码在colab运行记录(失败)
    GitHub代码在colab运行记录(失败)前情提要项目是论文EmotionalChattingMachine:EmotionalConversationGenerationwithInternalandExternalMemory的代码项目地......
  • CF1603D Artistic Partition
    这是道有趣的观察性质题,可惜我没有脑子。看到这个dp形式就非常整体二分,所以它就是整体二分(雾我们先令\(c(i,j)\)表示\(i\lex<y\lej,\gcd(x,y)\gei\)的数量,输出......
  • 实验一 c++简单程序设计
    题目代码第一题#include<iostream>usingnamespacestd;//求数字根intdigital_root(intn){ while(n>=10){ n=n/10+n%10; } returnn;}in......
  • [Google] LeetCode 715 Range Module 线段树
    ARangeModuleisamodulethattracksrangesofnumbers.Designadatastructuretotracktherangesrepresentedashalf-openintervalsandqueryaboutthem.......
  • centos下mysql 最新版终于安装成功!备份一下几个关键地方
    我本来只是为了搭建简单的LAMP环境,亲自动手,却发现有这么多的问题会发生。(bydefault7#zbphp.com)很多地方给的安装Mysql的提示是通过yum一键安装。shell命令如下:yumins......
  • c++的随机数
    一直以来用cstdlib里的rand来抽卡过题 C++11有了新的库,似乎能有更好的随机数生成.梅森旋转法?C++随机数知乎这里贴一下代码,方便以后使用随机数生成 #include<ra......