2011-01-05 8 views
10

Przed opublikowaniem wybrałem opcję Project -> Properties -> Options -> File Associations i dodano rozszerzenie ".hsp". Ustaw ikonę i ProgID ("MyCompany.Document.1" do testowania). Po opublikowaniu i zainstalowaniu moje pliki .hsp miały ustawioną ikonę, więc skojarzenie plików powinno być poprawnie ustawione, ale kiedy dwukrotnie kliknąłem jeden z tych plików, uruchomiłem aplikację i spodziewałem się, że nazwa pliku, który dwukrotnie kliknąłem, będzie w linii poleceń. Próbowałem odczytać parametr przekazany do mojej funkcji Main, wypróbowałem Environment.CommandLine i wypróbowałem Environment.GetCommandLineArgs(), ale jedyną rzeczą, którą znalazłem, była ścieżka aplikacji. Przy okazji robię to wszystko przed utworzeniem mojego głównego formularza w funkcji Main, tylko po to, aby przetestować. Parametr args jest pusty, a pozostałe dwa zawierają tylko ścieżkę mojej aplikacji.Jak uzyskać wiersz poleceń z aplikacji ClickOnce?

Jest to początek mojego Main funkcji:

static void Main(string[] args) 
    { 
     try 
     { 
      Application.EnableVisualStyles(); 
      Application.SetCompatibleTextRenderingDefault(false); 
      Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException); 
      MessageBox.Show("CommandLine -> " + Environment.CommandLine); 
      foreach (string str in args) MessageBox.Show("args -> " + str); 
      foreach (string str in Environment.GetCommandLineArgs()) MessageBox.Show("GetCommandLineArgs -> " + str); 

Odpowiedz

9

Podczas publikowania aplikacji z ClickOnce, a następnie uruchom go, klikając dwukrotnie skojarzony plik, ścieżka do tego pliku faktycznie pobiera przechowywane tutaj:

dokumentacja
AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData[0] 

Zobacz MSDN dla niego tutaj:

http://msdn.microsoft.com/en-us/library/system.runtime.hosting.activationarguments.aspx

Plus poradnik na temat dodawania skojarzeń plików do "Publikuj" projekty:

http://blogs.msdn.com/b/mwade/archive/2008/01/30/how-to-add-file-associations-to-a-clickonce-application.aspx

+0

Dziękuję bardzo! – pr0gg3r

Powiązane problemy