|
|
Presentation (Windows Forms, Windows Presentation Foundation)
Started by martok at 04-19-2006 17:33. Topic has 4 replies.
 
 
|
|
Sort Posts:
|
|
|
|
04-19-2006, 17:33
|
martok
Joined on 04-19-2006
Posts 4
|
|
|
|
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
Joined on 10-27-2005
Posts 4
|
|
|
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
Joined on 04-19-2006
Posts 4
|
|
|
|
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

Joined on 08-19-2005
Posts 46
|
|
|
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

Joined on 08-19-2005
Posts 46
|
|
|
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
|
|
|
|