2009-06-11 4 views
2

Ich frage mich, wie ich eine Datei in C++ (wie Doppelklick) buchstäblich öffnen kann?Wie öffne ich eine Datei (zB .txt-Datei) in C++ (so als würde man sie in Windows doppelt anklicken)?

+0

Fragen Sie nach der Möglichkeit, Tastatur/Maus wie in der Java Robot Klasse zu automatisieren? –

+2

"Buchstäblich"? ? – harto

+0

ack..hat nicht wissen, wie man richtig beschreibt .. wie wenn Sie eine Datei in Windows doppelklicken, wie man das im Code macht? Ich bin auf der Suche nach etwas wie process.start ("blabla.txt") in .NET –

Antwort

9

Vorausgesetzt, Sie haben die Erweiterung ".txt" registriert (und Textdateien sollten mit Notepad in einer Standardinstallation verknüpft sein, oder etwas anderes, wenn Sie es aus Explorer geändert haben - müssen Sie ziemlich hart arbeiten, um zu trennen sie), Windows öffnet es für Sie, ohne dass Sie den Namen der ausführbaren Datei angeben müssen:

ShellExecute (hwnd,"open","c:\\x.txt",NULL,NULL,SW_SHOW); 

oder, für eine Web-Seite in Ihrem Browser der Wahl:

ShellExecute (hwnd,"open","http://www.microsoft.com",NULL,NULL,SW_SHOW); 
1

Sie meinen wie Open Explorer?
Wie wäre es

system("explorer.exe file.to.open"); 
+0

ja, etwas wie das .. –

2

Verwenden Sie ShellExecute mit dem Verb "open". Weitere Informationen finden Sie unter this article.

1

einfache Art und Weise: System (“ notepad.exe [location to file] ");

+1

Können Sie erklären, warum es funktioniert? Verweise? –