web-dev-qa-db-fra.com

Ouvrir un fichier avec le Bloc-notes en C #

Comment j'ouvre un fichier en c #? Je ne veux pas dire le lire par textreader et readline (). Je veux dire l'ouvrir comme un fichier indépendant dans le bloc-notes.

107
Mohamed

Vous avez besoin de System.Diagnostics.Process.Start().

L'exemple le plus simple:

Process.Start("notepad.exe", fileName);

Approche plus générique:

Process.Start(fileName);

La deuxième approche est probablement une meilleure pratique car cela entraînera l’ouverture du shell Windows sur votre fichier avec son éditeur associé. De plus, si le fichier spécifié n'a pas d'association, il utilisera le Open With... dialogue à partir de windows.

Note à ceux dans les commentaires, merci pour votre contribution. Ma réponse rapide et sale était légèrement off, j'ai mis à jour la réponse pour refléter la bonne façon.

172
Aren

Vous ne fournissez pas beaucoup d'informations, mais en supposant que vous vouliez ouvrir n'importe quel fichier sur votre ordinateur avec l'application spécifiée pour le gestionnaire par défaut pour ce type de fichier, vous pouvez utiliser quelque chose comme ceci:

var fileToOpen = "SomeFilePathHere";
var process = new Process();
process.StartInfo = new ProcessStartInfo()
{
    UseShellExecute = true,
    FileName = fileToOpen
};

process.Start();
process.WaitForExit();

Le paramètre UseShellExecute indique à Windows d'utiliser le programme par défaut pour le type de fichier que vous ouvrez.

WaitForExit fera en sorte que votre application attende que la demande que vous avez lue soit fermée.

26
TimothyP

cela ouvrira le fichier avec le programme Windows par défaut (bloc-notes si vous ne l'avez pas changé);

Process.Start(@"c:\myfile.txt")
26
Colin Pickard
System.Diagnostics.Process.Start( "notepad.exe", "text.txt");
15
Vaibhav

Vous pouvez utiliser Process.Start , appelant notepad.exe avec le fichier en paramètre.

 Process.Start(@"notepad.exe", pathToFile);
12
Oded

Utilisez System.Diagnostics.Process pour lancer une instance de Notepad.exe.

8
AJ.