Welche Windows-API-Funktionen sind verfügbar, um die Eingabeaufforderung Funktionalität auszuführen? Ich möchte zum Beispiel den Befehl dir ausführen und die Ausgabe in der GUI anzeigen, ohne cmd.exe in Windows zu verwenden.Ausführen der Eingabeaufforderung Funktionalität unter Verwendung von Win32
Antwort
Sie können cmd /c dir S:\ome\Path
von Ihrem Prozess starten und die Ausgabe greifen. Sonst ist es nicht möglich. Aber wenn Sie nicht an bestimmten Formatierungsdetails von dir
interessiert sind, dann sind Sie wahrscheinlich besser dran, nur Dateien/Verzeichnisse aufzuzählen und anzuzeigen.
Der Befehl dir ist in die cmd.exe integriert, es ist keine separate ausführbare Datei. Es gibt keine Möglichkeit, es kurz auszuführen, um cmd.exe auszuführen.
EDIT: Wie für die Anzeige von Ergebnissen, müssen Sie die STARTUPINFO.hStdXXX Mitglieder ausfüllen, wahrscheinlich mit einer anonymen Rohrleitung. Siehe this example.
Für eine Konsole App können Sie popen() verwenden, aber Dinge sind keineswegs so einfach von einer GUI-App. Für einen Ansatz siehe http://msdn.microsoft.com/en-us/library/ms682499%28VS.85%29.aspx.
Wenn Sie eine Liste von Dateien in einem bestimmten Ordner möchten, finden Sie in diesem question beschrieben, wie es mit Windows API oder einem allgemeineren Ansatz zu erreichen.
Alles, was die Windows-Befehlszeile tut, wird über die Win32-APIs erledigt.
Zum Beispiel, in Bezug auf "dir", geben FindFirstFile() und FindNextFile() Ihnen den Inhalt eines Verzeichnisses.
Für jeden gegebenen Befehl müssen Sie herausfinden, welche APIs/Funktionsaufrufe verwendet werden und dann lernen, wie Sie sie in Ihrem eigenen Code verwenden.
- 1. Schritte in win32 der Eingabeaufforderung Fenster befreien
- 2. Funktionalität einzigartig für Win32 API?
- 3. Unittests von einer Eingabeaufforderung ausführen
- 4. Den node.js-Server unter Ubuntu unter Verwendung von forever ausführen
- 5. Eingabeaufforderung überall in Windows 7 (native Funktionalität)
- 6. Ausführen von Unit-Tests unter Verwendung von MsBuild Befehlszeile
- 7. Verbergen der Eingabeaufforderung bei der Verwendung von Python
- 8. Verwendung SVN von Eclipse und der Terminal-Eingabeaufforderung
- 9. Doppelter Befehl zum Ausführen von Programmen in der Eingabeaufforderung
- 10. Wie kann ich externe Befehle von der Eingabeaufforderung gdb ausführen?
- 11. Ausführen der Eingabeaufforderung von einem PHP-Skript mit xampp
- 12. kann diese exe-Datei von der Eingabeaufforderung aus ausführen?
- 13. Ausführen von CreateFile Win32-Interop als Standardbenutzer
- 14. Reverse-Array bei Verwendung der Eingabeaufforderung
- 15. Doppelte Funktionalität unter mehreren Projekten
- 16. Drucken Probleme unter Terminaldienste (Win32)
- 17. g ++ funktioniert nicht unter Windows Eingabeaufforderung
- 18. Leistungsprobleme beim Ausführen von WPF/Win32-Anwendungen nebeneinander?
- 19. Ausführen von FileBeat unter Solaris
- 20. Skript als Admin-Ignore-Eingabeaufforderung ausführen
- 21. Post-Datei von der Eingabeaufforderung
- 22. Ausführen von Spark-Slave unter Windows
- 23. Einsatz mehr Zeilen in der Datenbank unter Verwendung von PDOs
- 24. Perl-Skripte aus PATH-Ordner in der Eingabeaufforderung ausführen
- 25. Befehl ausführen mit Eingabeaufforderung JA Eingabe
- 26. Ausführen von parametrisierten jUnit-Tests ohne Verwendung der Annotation
- 27. ROR + Ausführen von CMD-Eingabeaufforderung auf Windows-Plattform mit RUBY
- 28. Pseudozufallszahlengenerator unter Verwendung von TEA
- 29. 4 unter Verwendung von Modell
- 30. Verwendung von ios_webkit_debug_proxy unter Linux
Das sollte cmd/k dir sein, andernfalls wird cmd nicht nach dem Befehl dir beendet. – Ferruccio
genau umgekehrt./k bleibt,/c nicht. Sehen Sie sich einfach cmd /? – Joey
Sie haben Recht. Mein Fehler. – Ferruccio