簡體   English   中英

C#:如何 - 接受新參數的單實例應用程序?

[英]C# : how to - single instance application that accepts new parameters?

我正在創建一個使用NZB文件下載二進制文件的(C#)程序,我的應用程序可能只有一個實例在運行。

因此,當用戶雙擊.nzb文件並且我的程序未運行時,它應該啟動並處理它(簡單,文件注冊)。 現在,如果我的程序已經運行,我不想啟動第二個實例 - 我希望已經運行的實例獲取指定的文件。

使用帶有.IsSingleInstance技巧的Visual Basic DLL可以完成我的應用程序單實例,但我不想去那里。

正確的方法似乎是使用互斥鎖來確保我的應用程序是單實例,但現在我仍然堅持如何將指定的參數(.nzb文件)傳遞給已經運行的實例。

幫助將不勝感激! :-)

試試這個:你的主程序創建一個命名管道或其他進程間通信工具並監聽它。 您創建一個單獨的小程序,當以NZB文件作為參數運行時,打開管道,將文件信息輸入其中,然后退出。 然后,您的主程序將處理新文件並下載。

為什么沒有一個程序將文件添加到隊列中,然后啟動下載程序(如果它尚未運行)。 該下載程序監視隊列,該隊列只是您下載文件名的文件。

查看Genghis項目中的InitialInstanceActivator

使用IPC(進程間通信)機制,如.net遠程處理

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM