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);
Vielen Dank! – pr0gg3r