我想要获得当前运行程序的名称,即程序的可执行名称。在C/ c++中,你从args[0]中得到它。
当前回答
对于windows应用程序(窗体和控制台),我使用这个:
在VS中添加对System.Windows.Forms的引用,然后:
using System.Windows.Forms;
namespace whatever
{
class Program
{
static string ApplicationName = Application.ProductName.ToString();
static void Main(string[] args)
{
........
}
}
}
无论我是运行实际的可执行文件还是在VS中调试,这对我来说都是正确的。
注意,它返回的是应用程序名称,而不是扩展名。
John
其他回答
更多选择:
System.Reflection.Assembly.GetExecutingAssembly () . getname () . name .CodeBase Path.GetFileName (System.Reflection.Assembly.GetExecutingAssembly () . getname ()
这是你想要的吗?
Assembly.GetExecutingAssembly ().Location
System.Diagnostics.Process.GetCurrentProcess()获取当前正在运行的进程。您可以使用ProcessName属性来确定名称。下面是一个示例控制台应用程序。
using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
Console.WriteLine(Process.GetCurrentProcess().ProcessName);
Console.ReadLine();
}
}
来获取路径和名称
.MainModule.FileName System.Diagnostics.Process.GetCurrentProcess ()
如果您要在。net 6.0或更高版本中发布单文件应用程序,则可以使用Environment。ProcessPath
推荐文章
- 何时使用IList,何时使用List
- ConfigurationManager。AppSettings在.NET Core 2.0中可用?
- 在c#的控制台应用程序中使用'async
- 在单元测试中设置HttpContext.Current.Session
- 如何开始开发Internet Explorer扩展?
- 更新行,如果它存在,否则插入逻辑实体框架
- 在什么情况下SqlConnection会自动被征召到环境事务范围事务中?
- 用c#解析JSON
- Windows窗体中的标签的换行
- 为什么在c#中使用finally ?
- 使iTerm以与其他操作系统相同的方式翻译“元键”
- 为什么我不能在c#中有抽象静态方法?
- net HttpClient。如何POST字符串值?
- 我如何使一个方法的返回类型泛型?
- 何时处理CancellationTokenSource?