Laden...

datei öffnen mit -> Windowsapplication mit Übergabeparameter starten

Erstellt von dengel vor 17 Jahren Letzter Beitrag vor 17 Jahren 2.201 Views
D
dengel Themenstarter:in
101 Beiträge seit 2005
vor 17 Jahren
datei öffnen mit -> Windowsapplication mit Übergabeparameter starten

Hall alle miteinander,

ich möchte gerne wenn ich auf eine Datei clicke, die von meinem Programmerstellt wurde, meine Application starten und dort diese Datei gleich öffnen.
Meine Mainfunktion hat bereits einen übergabewert und nimmt die Übergabeparameter auf. Nur leider startet das Programm nicht.


static void Main (string[] args )
{
if ( args.Length == 0 )
            {  
                //Form wird leer geöffnet 
                MainForm f = new MainForm ( );
                f.StartPosition = FormStartPosition.CenterScreen;
                f.Show ( );
                f.WindowState = FormWindowState.Maximized;
                return f;
            }
            else
            {
                string file = args [ 0 ]; //Dateipfad
                if ( args [ 1 ] == "OpenDocument" )
                {
                    //Datei wird geöffnet und angezeigt
                    MainForm f = new MainForm ( file );
                    f.StartPosition = FormStartPosition.CenterScreen;
                    f.Show ( );
                    f.WindowState = FormWindowState.Maximized;
                    return f;
                }
                else
                {
                    MainForm f = new MainForm ( );
                    f.StartPosition = FormStartPosition.CenterScreen;
                    f.Show ( );
                    f.WindowState = FormWindowState.Maximized;
                    return f;
                }
            }
}

Kann mir jemand sagen was ich flasch mache?

Dank euch für eure Hilfe.

Gruß dengel

N
750 Beiträge seit 2004
vor 17 Jahren

schonmal durchdebuggt ??

ansonsten wäre eine etwas genauere beschreibung des fehlers auch nicht schlecht 🙂

?( wer suchet, der findet auch! :]

D
dengel Themenstarter:in
101 Beiträge seit 2005
vor 17 Jahren

Hallo,

wenn ich auf die Datei clicke, kommt für eine kurze Zeit die Sanduhr. Sonst tut sich nichts. Mein Programm wird gar nicht gestartet.

149 Beiträge seit 2005
vor 17 Jahren

Man sollte auch bei der Übergabe von Pfaden/Dateinamen beachten, das man wenn ein Leerzeichen im Namen drin vorkommt, man den Pfad in Anführungszeichen packen muss, da sonst der Rest (nach dem Leerzeichen) als neuer Parameter interpretiert wird.

Schon als Kindern war uns klar: Jeder von uns wird ein Star, oder Millionär - das ist doch auch nicht schwer. Dem Alkohol nicht abgeneigt, war es für uns auch nicht leicht. Durch seine Hände Arbeit, wird man auch nicht gleich ein Scheich.
D
dengel Themenstarter:in
101 Beiträge seit 2005
vor 17 Jahren

Ich weiss gar nicht was beim click auf die Datei übergeben wird. Mein Programm startet erst garnicht. Laut Galileo OpenBook sollte ein Array übergeben werden
arg[0] => Pfad der datei,
arg[1] => OpenDocument

Wenn ich das ganze im Debugg Modus durchgehe und in den Projekteigenschaften ddie Übergabeparameter eingebe, funktionieirt alles.
Nur wenn ich auf die Datei clicke, funktioniert nichts.

N
750 Beiträge seit 2004
vor 17 Jahren

hast du den Dateityp mit deiner Anwendung "verknüpft" ??

deinProgramm.exe %1 <-- so?

?( wer suchet, der findet auch! :]

D
dengel Themenstarter:in
101 Beiträge seit 2005
vor 17 Jahren

habe mit dem SetupProjekt von VS2005 ein Setup erstellt, dort habe ich den Dateitypen festgelegt.

CDC-Datei(cdc) (Command: MeinProgramm.exe
Description: Text
Extensions: cdc)
&Öffnen (Arguments: "%1" OpenDocument
Verb: open)

das hab ich dann istalliert. Meine cdc-Dateien haben auch das Symbol das ich vergeben habe.

N
750 Beiträge seit 2004
vor 17 Jahren

Man sollte auch bei der Übergabe von Pfaden/Dateinamen beachten, das man wenn ein Leerzeichen im Namen drin vorkommt, man den Pfad in Anführungszeichen packen muss, da sonst der Rest (nach dem Leerzeichen) als neuer Parameter interpretiert wird.

das beachtest du aber, oder??

starte doch mal dein programm mit parametern von der Kommandozeile aus, ob es grundsätzlich funzt.

mit dem SetupProjekt kenn ich mich leider gar nicht aus.

?( wer suchet, der findet auch! :]

D
dengel Themenstarter:in
101 Beiträge seit 2005
vor 17 Jahren

von der Komandozeile aus funktioniert es.

N
750 Beiträge seit 2004
vor 17 Jahren

also sieht es so aus, als wenn windows dir nen falschen/komischen parameter mitgibt bzw du den falsch verarbeitest..... 🙂

lass dir deine variable 'file' doch mal ausgeben, bevor du sie an dein Mainform übergibst!

?( wer suchet, der findet auch! :]

D
dengel Themenstarter:in
101 Beiträge seit 2005
vor 17 Jahren

so weit komm ich ja gar nicht. Mein Programm wird gar nicht gestartet.

N
750 Beiträge seit 2004
vor 17 Jahren

dann ist wohl die verknüpfung mit der dateiendung nicht richtig.

hast du die mal im explorer kontrolliert ???

extras -> Ordneroptionen -> Dateitypen

?( wer suchet, der findet auch! :]

D
dengel Themenstarter:in
101 Beiträge seit 2005
vor 17 Jahren

Dort ist die cdc Datei hinterlegt.

N
750 Beiträge seit 2004
vor 17 Jahren

vergleich doch mal was bei deinem eintrag ( .cdc ) und beispielsweise einer .txt datei steht.....

?( wer suchet, der findet auch! :]

D
dengel Themenstarter:in
101 Beiträge seit 2005
vor 17 Jahren

Hallo Niels,

habs hinbekommen, hatte zwischen dem ersten und zweiten Parameter kein leerzeichen!

Dank Dir für deine Hilfe!

Gruß dengel

N
750 Beiträge seit 2004
vor 17 Jahren

Niels

bitte ohne e --> nils 😉

ok, schön das ich dir helfen konnte.

?( wer suchet, der findet auch! :]