簡體   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