Lancer l'application via le raccourci à l'aide de Processus.Démarrez C#
Est-il un moyen pour exécuter une application via le raccourci d'une application en C#?
Je suis tente de lancer un .lnk à partir de mon application en C#. Le raccourci contient un nombre important d'arguments que je préfère l'application sans avoir à me souvenir.
De tenter d'exécuter un raccourci via un Processus.Début provoque une exception.
Grâce
EDIT:
À l'exception d'un "Win32Exception": "Le fichier exécutable spécifié n'est pas une application Win32 valide."
Ici est la (nom abrégé) code:
ProcessStartInfo info = new ProcessStartInfo ( "example.lnk" );
info.CreateNoWindow = true;
info.UseShellExecute = false;
info.RedirectStandardError = true;
info.RedirectStandardOutput = true;
info.RedirectStandardInput = true;
Process whatever = Process.Start( info );
Le raccourci requiert des arguments ou est-il la cible du raccourci qui requiert des arguments?
qu'est-ce que l'exception?
mis à jour avec demande d'info. La cible du raccourci requiert des arguments.
Assurez-vous que le raccourci fonctionne réellement - c'est peut-être cassé.
le raccourci ne fonctionne pas. Il pointe vers un fichier bat - je peux exécuter le fichier bat et le raccourci par pointer-et-cliquer.
qu'est-ce que l'exception?
mis à jour avec demande d'info. La cible du raccourci requiert des arguments.
Assurez-vous que le raccourci fonctionne réellement - c'est peut-être cassé.
le raccourci ne fonctionne pas. Il pointe vers un fichier bat - je peux exécuter le fichier bat et le raccourci par pointer-et-cliquer.
OriginalL'auteur user664939 | 2011-05-26
Vous devez vous connecter pour publier un commentaire.
Pourriez-vous envoyer un peu de code. Quelque chose comme ceci devrait fonctionner:
OriginalL'auteur keyboardP
Réglage
UseShellExecute = false
était le problème. Une fois que je l'ai enlevé, il a cessé de s'écraser.OriginalL'auteur user664939
si votre fichier EXE ou un autre type de fichier comme ".exe" ou ".mkv" ou ".pdf" et que vous souhaitez l'exécuter avec lien de raccourci de votre code doit ressembler à cela.
je veux exécuter "Translator.exe" du programme.
OriginalL'auteur Alireza
Si vous utilisez UseShellExecute = false et essayer de lancer un fichier de commandes assurez-vous d'ajouter .chauve-souris à la fin du nom de fichier. Vous n'avez pas besoin .chauve-souris si UseShellExecute = vrai que l'. Cela m'a fait simplement perdre une heure de travail... dans l'espoir de sauver quelqu'un d'autre.
Je ne comprends pas. Pourquoi voudriez-vous laisser de côté l'extension de fichier?
OriginalL'auteur HippyPotamus