我正在創建一個使用NZB文件下載二進制文件的(C#)程序,可能只有一個應用程序在任何時候運行。C#:如何 - 接受新參數的單實例應用程序?
所以,當用戶雙擊一個.nzb文件,我的程序沒有運行,它應該啓動並處理它(簡單,文件註冊)。 現在,如果我的程序已經運行,我不想啓動第二個實例 - 我希望已經運行的實例選取指定的文件。
使用帶有.IsSingleInstance技巧的Visual Basic DLL可以完成我的應用程序單實例,但我不想去那裏。
正確的方法似乎是使用互斥鎖來確保我的應用程序是單實例, 但現在我堅持如何將指定參數(.nzb文件)傳遞給已經運行的實例。
幫助,將不勝感激! :-)
你可能已經意識到了這一點,但你可能會重新發明你的應用程序。 http://sourceforge.net/projects/sabnzbd/只是一個例子 – dss539 2009-05-27 21:16:47
是的,還有無數的其他人;-) 這是一個愛好項目,只是用C#伸縮手指,如果我喜歡這個世界的結果最終只有另一個免費NZB下載器! :-) – Led 2009-05-27 21:21:33
爲什麼你不想使用Microsoft.VisualBasic.dll中的SingleInstanceController?像其他任何人一樣,這是一個框架內的程序集。僅僅因爲名稱是VisualBasic,它不會被使用。如果微軟稱之爲Microsoft.Foo.dll,每個人都會使用它! – Oliver 2010-02-19 11:30:38