我想知道如何实际获取正在运行的文件的名称,而不是程序集名称,而是C#.NET中文件的名称,
我试过
System.Reflection.Assembly.GetEntryAssembly().GetName().Name
这给出了程序集的名称,但我正在寻找exe文件的名称。
谢谢!
答案 0 :(得分:7)
System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName
或
如果你想要可执行文件:
System.Reflection.Assembly.GetEntryAssembly().Location
如果您只想要文件* name *而不是路径,请使用:
Path.GetFileName(System.Reflection.Assembly.GetEntryAssembly().Location)
答案 1 :(得分:3)
System.Reflection.Assembly.GetEntryAssembly().Location
答案 2 :(得分:2)
System.Windows.Forms.Application.ExecutablePath
"获取启动应用程序的可执行文件的路径,包括可执行文件名。"
http://msdn.microsoft.com/en-us/library/system.windows.forms.application.executablepath.aspx
答案 3 :(得分:1)
如果你知道你的程序集是你正在运行的EXE(我推断可能是通过使用“GetEntryAssembly()”),你可以使用Process.GetCurrentProcess()。ProcessName。这将返回程序的EXE名称。
答案 4 :(得分:0)
http://msdn.microsoft.com/en-us/library/system.environment.getcommandlineargs.aspx
查看此数组中的第一个元素。
System.Environment.GetCommandLineArgs()[0];
您还可以查看args[0]
main(string args[])
即使重命名程序,这也应该改变。
答案 5 :(得分:0)
您可以使用:
System.Reflection.Assembly.GetExecutingAssembly().Location