2017-10-30 2 views
-1

Ich bin gerade fertig Software zu machen, wo eine Eingabe einer JPG-Datei gegeben, erstellt das Programm eine Ausgabe im TXT-Format.C++ Win32 offene Ausgabedatei

Derzeit erstellt das Programm die Ausgabe und endet, sodass der Benutzer die Ausgabedatei manuell suchen und öffnen muss. Gibt es eine Möglichkeit, dass beim Erstellen der Ausgabedatei das Programm diese dann automatisch öffnet?

Damit meine ich, das Programm würde die output.txt-Datei mit Notepad öffnen, so als ob der Benutzer es selbst doppelt geklickt hätte. Wie würde ich das machen?

+1

Diese Frage und Antwort helfen könnten: https://stackoverflow.com/questions/7057174/how-can-i-call-notepad-exe-from-ac-program – kbyrd

+3

'so, als ob der Benutzer es selbst doppelt geklickt hätte 'Siehe WinAPI [ShellExecute()] (https://msdn.microsoft.com/ru- ru/Bibliothek/Windows/desktop/bb762153 (v = vs.85) .aspx). – Matt

Antwort

0

Man kann den Befehl system() verwenden. Dies ruft den Systembefehlsprozessor auf.

Sie können ihm den Befehl geben, der in cmd ausgeführt werden soll. Dies ist keine effiziente Lösung, da das System nicht gut für die Effizienz und Sicherheit des Programms ist. Wenn Sie den Code für kommerzielle Zwecke verwenden möchten, ist das System nicht zu empfehlen, für Hobby-Programme können Sie es sicher verwenden.

Nehmen wir an, dass die Datei an der Stelle C picture.txt ist:/Datei Ihr Code wird sein:

#include <iostream> 
#include <cstdlib> 
using namespace std; 

int main() 
{ 
    system ("notepad.exe c:/file/picture.txt"); 
    return 0; 
}