获取正在启动的exe文件

问题描述:

我一直在寻找解决方案来解决我的问题,但什么都没发现。你如何获得由你设置为打开的默认程序打开的文件?例如:如果我有一个名为HelloWorld.hello的文件,并且我设置了该文件,以便在单击文件时打开一个名为Hello.exe的程序。我如何获得启动Hello.exe的文件?获取正在启动的exe文件

+0

你是什么意思的“正在启动Hello.exe的文件”?你的意思是问如何获得已经传递给* Hello.exe的文件? – 2015-04-04 23:44:18

+0

我这么认为。如何做到这一点? – ProgrammingNoob 2015-04-04 23:46:09

+1

'System.Environment.GetCommandLineArgs()' – Plutonix 2015-04-04 23:50:15

问题是调用“执行HelloWorld.exe”需要通过编程到OS中的常用方法 - 根据定义,它是一个OS函数来处理执行请求。因此,你得到的最多的是你的内心深处:“发生了什么事?”

编辑如果您想要获取正在执行当前代码的程序,即应用程序的入口点,则可通过Environment.CommandLine访问该程序。除非您正在构建一个由多个可执行文件访问的库,否则这不是非常有用,如果是,那么库应该知道什么叫它。

如果您有调用函数的控制,你可能要考虑启动过程中的一些参数传递到目标程序 - 这些都可以通过string[]参数Main

编辑在阐述该选项来访问将信息传递到Main,您实际上可以为您的Main方法提供几个签名之一。使用以下:

static void Main(string[] args) 

将采取任何命令行参数,并将其传递到args阵列。因此,如果你叫你的程序HelloWorld.exe(在Windows中)作为

HelloWorld "alpha beta" delta gamma 

然后args将包含["alpha beta", "delta", "gamma"]值。因此,传递标志或启用命令行参数变得可能

+0

如何将它们传递给Main方法中的字符串[]参数? – ProgrammingNoob 2015-04-04 23:51:42

+0

道歉,我会用这个信息更新我的答案! – David 2015-04-04 23:52:00

+0

太棒了!谢谢,我得到了它的工作。 – ProgrammingNoob 2015-04-04 23:57:24