获取当前程序路径的方法C++和C#的做法

Posted 老虎中的小白Gentle

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取当前程序路径的方法C++和C#的做法相关的知识,希望对你有一定的参考价值。

C#

方法一:

 string exePath = System.AppDomain.CurrentDomain.BaseDirectory;
 Console.WriteLine(string.Format("exePath:{0}", exePath));

运行的结果为
exePath:E:\\dingdingDownload\\DR2800_Print_TSN\\DR2800_Print_TSN\\bin\\Debug\\

方法二:

string path = System.IO.Directory.GetCurrentDirectory();
            Console.WriteLine(string.Format("path:{0}", path));

运行的结果为:
path:E:\\dingdingDownload\\DR2800_Print_TSN\\DR2800_Print_TSN\\bin\\Debug

注意:方法一是最后带\\的,而方法而是不带的,它们都是运行程序.exe的绝对路径

C++

void CTestDlg::OnBnClickedButton2()
{
	// TODO: 在此添加控件通知处理程序代码
	CString strExePath{};
	TCHAR szFilePath[MAX_PATH + 1]{};
	GetModuleFileName(NULL, szFilePath, MAX_PATH); //包括exe的全路径
	cout << "szFilePath :" << szFilePath << endl;

	strExePath = szFilePath;
	unsigned long Length = 0;
	for (int i = 1; i <= strExePath.GetLength(); i++)
	{
		CString temp = strExePath.Right(i);
		temp = temp.Left(1);
		if (temp == _T("\\\\"))
		{
			Length = i;
			break;
		}
	}
	//除了exe的绝对路径
	strExePath = strExePath.Left(strExePath.GetLength() - Length);
	cout << "strExePath: " << strExePath << endl;
}

运行的结果:
在这里插入图片描述

以上是关于获取当前程序路径的方法C++和C#的做法的主要内容,如果未能解决你的问题,请参考以下文章

C# WinForm获取 当前执行程序路径的几种方法

C#获取当前路径的方法

c#中怎么获得当前路径

C#获取当前程序运行路径的方法集合

C#获取当前程序运行路径的方法集合

C# 程序开机自动启动,但是获取当前路径名称是不正确,请教怎么解决?