2011-01-05 4 views
10

Vor der Veröffentlichung ging ich zu Projekt -> Eigenschaften -> Optionen -> Dateizuordnungen und fügte die Erweiterung ".hsp" hinzu. Legen Sie ein Symbol und eine ProgID ("MyCompany.Document.1" zum Testen) fest. Nach der Veröffentlichung und Installation hatten meine .hsp-Dateien das von mir festgelegte Symbol. Daher sollte die Dateizuordnung ordnungsgemäß festgelegt werden. Wenn ich jedoch auf eine dieser Dateien doppelklickte, wurde die Anwendung ausgeführt, und ich erwartete den Namen der Datei, auf die ich doppelklickte in der Befehlszeile. Ich habe versucht, den Parameter zu lesen, der an meine Main-Funktion übergeben wurde, versuchte Environment.CommandLine, und versuchte Environment.GetCommandLineArgs(), aber das einzige, was ich fand, war der Anwendungspfad. Übrigens mache ich diese Überprüfung, bevor ich mein Hauptformular in der Main-Funktion erstelle, nur um zu testen. Der Parameter args ist leer und die anderen beiden enthalten nur meinen App-Pfad.Wie bekomme ich die Befehlszeile von einer ClickOnce-Anwendung?

Dies ist der Anfang meiner Main Funktion:

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); 

Antwort

9

Wenn Sie eine App mit Clickonce veröffentlichen und dann starten, indem Sie einen Doppelklick auf eine zugehörige Datei, wird der Pfad zu dieser Datei hier tatsächlich gespeichert:

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

Siehe MSDN in der Dokumentation hier:

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

Plus eine Tutorial-Dateizuordnungen auf das Hinzufügen zu "Veröffentlicht" Projekte:

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

+0

Vielen Dank! – pr0gg3r

Verwandte Themen