Comment ouvrir le bloc-notes avec cmd?
Je veux ouvrir le bloc-notes avec CMD, à l'aide de C#, mais le chemin d'accès contient des espaces. Je sais qu'il y a beaucoup de questions semblables à ceci, mais je n'arrivais pas à obtenir une de ces solutions fonctionnent avec mon exemple. Je ne sais pas pourquoi. Si quelqu'un veut aider, il serait grandement apprécié.
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = @"/C START ""C:\Users\Dale\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\notepad.exe""";
process.StartInfo = startInfo;
process.Start();
Il n'y a pas de message d'erreur, mais rien ne se passe dans l'invite de commande, et le bloc-notes ne s'ouvre pas. Un autre problème est que l'invite de commande est visible, même si j'ai ajouté
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
Vous devez vous connecter pour publier un commentaire.
Certainement que vous n'avez pas l'application bloc-notes dans votre Menu Démarrer, il n'y a qu'un raccourci. Généralement le bloc-notes est situé ici:
Ce qui peut être trompeur, c'est qu'en cliquant sur "Ouvrir l'emplacement du fichier" sur l'icône bloc-notes dans le Menu de Démarrage vous emmène à l'endroit lorsque le raccourci est placé. Cependant, vous remarquerez peut-être que c'est seulement un raccourci à cause de la petite icône en forme de flèche dans le coin. Ensuite, vous pouvez faire un clic droit et choisissez "Ouvrir l'emplacement du fichier" encore une fois - il vous orientera vers le bon endroit cette fois.
La sécurité et à la meilleure approche est d'aller avec
C# est probablement ignorant les double guillemets c'est à dire, de la "".
Essayer d'échapper les guillemets avec barre oblique inverse, c'est à dire:
startInfo.Arguments = @"/C START "\"C:\Users\Dale\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\notepad.exe\""";
Je suppose que le chemin d'accès et tout ce qui est correct.
En C#, l'ajout d'un
@
avant une chaîne prend en charge les caractères spéciaux qui, autrement, aurait besoin d'une évasion symbole en face d'elle (\
).Cela doit se développer pour
/C START ""C:\Users\Dale\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\notepad.exe""
. Je suppose qu'il a quelques problèmes à trouver ce chemin. Peut-être réduire les guillemets pour une de chaque côté de l'aide.