Welcome to Usergroups.at Sign in | Join | Faq

Presentation (Windows Forms, Windows Presentation Foundation)

Started by martok at 04-19-2006 17:33. Topic has 4 replies.

Print Search
Sort Posts:    
   04-19-2006, 17:33
martok is not online. Last active: 19.07.2006 08:28:15 martok

Top 25 Posts
Joined on 04-19-2006
Posts 4
CommandLine-Array

Hi,

ich hab folgendes Problem: im Windows kann man ja im Kontext-Menü "Senden an..." als Aufrufziel z.B. eine .NET-Applikation angeben, die mit dem Objekt geöffnet werden soll, sprich ich selektierte 5 Textdateien und übermittle diese per "Senden an..." an meine .NET Text-Verarbeitung.

Jetzt habe ich aber das Problem, dass im Environment.CommandLine[]-Array nur jene Datei aufscheint, auf die ich tatsächlich mit rechts draufgeklickt habe, d.h. die anderen 4 selektierten bleiben zwar selektiert, werden aber anscheinend nicht als CommandLine-Parameter mitübergeben.

Hat jemand eine Idee, wie ich den Namen aller Dateien, die ich markiert hatte, rausbekomme?

thx
martok


   Report 
   04-20-2006, 20:45
maxhauser is not online. Last active: 09.06.2006 04:33:07 maxhauser

Top 25 Posts
Joined on 10-27-2005
Posts 4
Re: CommandLine-Array
Hallo martok!

Ich hab dein Problem mit .Net 2.0 nachgebaut, allerdings bei mir klappts wie erwünscht, also ich bekomm alle Namen raus.

Welche .Net Framework Version verwendest du 1.1, oder 2.0?

mit Environment.GetCommandLineArgs() bekomme ich einen String Array der im ersten Element den Pfad des Executables enthält und ab dem zweiten Element die Dateinamen der selektierten Files.

Übrigens: im SendTo Folder hab ich eine Verknüpfing auf mein eigentliches Exe File angelegt.

Der Code vom Konstruktor des TestForms mit einer ListBox und einer TextBox ist:

public Form1()
{
InitializeComponent();

string[] args = Environment.GetCommandLineArgs();
listBox1.Items.AddRange(args);

textBox1.Text = Environment.CommandLine;
}


hth
max
   Report 
   04-21-2006, 11:05
martok is not online. Last active: 19.07.2006 08:28:15 martok

Top 25 Posts
Joined on 04-19-2006
Posts 4
Re: CommandLine-Array

Hi,

ich nutze (noch) .NET 1.1 (auf Windows 2000 SP4). Interessanterweise klappt das Auslesen der Liste, wenn ich es über "Senden an..." mache, wo ich eine Verknüpfung auf das Programm habe. Wenn ich es allerdings über "Öffnen mit..." versuche, klappt das nicht und es erscheint nur der selektierte Eintrag als Argument an der Stelle 1.

Der Umweg über das "Senden an..." Menü geht natürlich, aber dazu muss man erstmal Zugriff drauf haben...hmmm...

Egal, danke trotzdem für die Info
martok


   Report 
   04-21-2006, 20:00
Peter Schneider is not online. Last active: 18.08.2009 13:33:42 Peter Schneider



Top 10 Posts
Joined on 08-19-2005
Posts 46
Re: CommandLine-Array
Hmmm... ohne es probiert zu haben.. aber der Öffnen Mit Eintrag hat ja auch einen entsprechenden Registry Eintrag zur Folge. Genauer gesagt solltest du den Eintrag unter HKEY_CLASSES_ROOT\.Dateiendung\OpenWithList finden... dort steht dann ein "Link" zu deiner Anwendung, den du wiederum in HKEY_CLASSES_ROOT\Applications findest.
Dort schaust du dir mal den shell\open\command Eintrag an und probierst dem %1 ein %2 bzw. ein %* nachzusetzen.

Ein Versuch wärs mal wert, vielleicht hilft das in deinem Fall...

greetz, Peter
   Report 
   04-21-2006, 20:06
Peter Schneider is not online. Last active: 18.08.2009 13:33:42 Peter Schneider



Top 10 Posts
Joined on 08-19-2005
Posts 46
Re: CommandLine-Array
Was vergessen... wollt ich ja auch noch schreiben.. ;-)

... wenn du die OpenWith Liste für alle Dateitypen ändern willst, findest du den Key unter HKEY_CLASSES_ROOT\*\OpenWithList
   Report 
Usergroups.at » Core Technologi... » Presentation (W... » CommandLine-Array

Powered by Community Server, by Telligent Systems