Ich benutze ein nicht-Gewinn-Formular-Programm, wo ich den Datei-Explorer öffnen muss und die Datei zurückgeben, die der Benutzer auswählt. Ich verwende Process.Start("explorer.exe", "/select etc");
Datei-Explorer zu öffnen, aber wenn ich eine Datei auswählen, es öffnet nur diese Datei. Gibt es eine Möglichkeit, dass wenn ich die Datei wähle, wird der Dateipfad zu einer Variablen zurückgegeben?Den Namen einer Datei zurückgeben, wenn ich Process.Start verwende
Antwort
Ich bin sicher, dass Ihre Vorgehensweise falsch ist. Da die documentation Staaten:
/wählen, öffnet sich ein Fenster Ansicht mit dem angegebenen Ordner, eine Datei oder ausgewählte Anwendung.
So das 10 Befehlszeilenargument sagt nur dem Explorer, den angegebenen Ordner oder die Datei vorzuwählen. Es gibt keine Benutzerauswahl zurück.
Ich empfehle, OpenFileDialog
zu verwenden. Sie können diesen Dialog auch verwenden, wenn Ihre Anwendung keine reine Windows Forms App ist. Sie müssen nur auf die benötigten Baugruppen (System.Windows.Forms.dll
) und Namespaces (using System.Windows.Forms;
) verweisen.
Die 'OpenFileDialog' Klasse liegt auch im' Microsoft.Win32' Namespace, daher ist der Verweis auf 'System.Windows.Forms' unnötig . –
Da dies eine Konsole app ist, ist es besser, nicht die WinForms-Namespace zu verwenden, denke ich. –
Danke für den Hinweis. Ich lese nur msdn, wo sie sagen, 'OpenFileDialog' ist in' System.Windows.Forms' deklariert. Wenn es ohne diese Referenz funktioniert ... schön. –
- 1. Wann kann Process.Start() null zurückgeben?
- 2. Warum dauert die Startzeit meiner Anwendung langsamer, wenn ich Process.Start() verwende?
- 3. Wie verwende ich den Startbefehl in einer Batch-Datei?
- 4. Kann nicht den Befehl Process.Start
- 5. Wie verwende ich die Bewegungssemantik beim Zurückgeben einer Elementvariablen?
- 6. Wie kann ich den Namen einer Datei in Dart bekommen?
- 7. Wie gebe ich den Namen des Knotens aus, den ich benutze, indem ich pbs script verwende
- 8. Wie lege ich den Namen des Druckauftrags fest, wenn ich das DocumentViewer-Steuerelement verwende?
- 9. Wie kann ich den Namen des Plugins kennen, wenn ich ionic-native verwende?
- 10. Wie verwende ich FileChannel, um den Inhalt einer Datei an das Ende einer anderen Datei anzuhängen?
- 11. ID der Ressource zurückgeben, wenn ich den Namen der Ressource kenne
- 12. Markierten Namen der Registerkarte zurückgeben
- 13. Process.Start und Dual Monitore
- 14. Process.Start() nicht an den Start der EXE-Datei (funktioniert, wenn sie manuell ausgeführt werden)
- 15. Python: Den Namen einer Funktion innerhalb einer Funktion innerhalb einer Funktion zurückgeben
- 16. Excel - Zurückgeben einer Spaltenüberschrift, wenn Daten unter
- 17. Process.Start kann keine vorhandene Datei finden
- 18. Wie bekomme ich zur Laufzeit den Namen der Route in Symfony2, wenn ich die Beschreibung der yaml-Routen verwende?
- 19. Muss ich Process.Start (url) entsorgen?
- 20. C# Process.Start() Dialogfeld für BAT-Datei
- 21. Wie kann ich den Namen des Datenbanktreibers ermitteln, den ich verwende?
- 22. Wie verwende ich den Packer mit der Box-Datei?
- 23. Wie blende ich die Benutzeroberfläche einer Konsolenanwendung aus, wenn Sie Process.Start verwenden?
- 24. Wie verwende ich den Lambda-Ausdruck in der jrxml-Datei?
- 25. Problem mit den neuen Zeilen, wenn ich toprettyxml() verwende
- 26. Process.Start Permissions Problem
- 27. Process.Start() Identitätswechselproblem
- 28. Wie verändere ich den Namen der erzeugten Datei auf Variable?
- 29. Coldfusion: den Namen einer Datei erhalten, bevor das Hochladen
- 30. Wie erhält man den Namen einer geöffneten Datei?
Mögliches Duplikat von [Wie füge ich ein Formular zu einer Konsolenanwendung hinzu, damit der Benutzer eine Datei auswählen kann?] (Http://stackoverflow.com/questions/12553932/how-do-i-add-a-form- to-a-console-app-so-dass-user-can-select-file) – NineBerry