繁体   English   中英

获取正在启动exe的文件

[英]Getting file that is launching exe

我一直在寻找解决问题的方法,但没有发现任何问题。 如何获取被设置为打开程序的默认程序正在打开的文件? 例如:如果我有一个名为HelloWorld.hello的文件,并且将其设置为单击该文件时将打开一个名为Hello.exe的程序。 我如何获取正在启动Hello.exe的文件?

问题在于,对“ execute HelloWorld.exe ”的调用会通过编程到OS中的通用方法进行处理-根据定义,这是一个OS函数来处理执行请求。 因此,您获得的最大收获就是您“启动了我什么?”的核心。

编辑如果要获取正在执行当前代码的程序,即应用程序的入口点,则可以通过Environment.CommandLine访问。 除非您要构建一个可被多个可执行文件访问的库,否则它不是很有用,如果是这样,则在少数情况下该库应该知道调用它的对象。

如果您可以控制调用函数,则可能要考虑在启动时将一些参数传递到目标程序中-可通过Mainstring[]参数访问这些参数。

编辑详细说明将信息传递给Main的选项,实际上您可以为Main方法使用多个签名之一。 使用以下内容:

static void Main(string[] args)

将接受任何命令行参数,并将其传递到args数组。 因此,如果您以以下方式调用程序HelloWorld.exe (在Windows中)

HelloWorld "alpha beta" delta gamma

那么args将包含["alpha beta", "delta", "gamma"]值。 因此,可以传递标志或启用命令行参数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM