12
votes

Exécuter l'application via un raccourci à l'aide de processus.Start C #

Y a-t-il un moyen d'exécuter une application via un raccourci d'une application C #?

Je tente d'exécuter un .lnk de mon application C #. Le raccourci contient un nombre important d'arguments que je préférerais que je préférerais que l'application ne soit pas à retenir.

Tentative d'exécuter un raccourci via Process.Start provoque une exception.

merci

edit:

L'exception est une "Win32Exception": "L'exécutable spécifié n'est pas une application Win32 valide."

voici le code (abrégé): xxx


4 commentaires

Le raccourci nécessite des arguments ou s'agit-il de la cible du raccourci qui nécessite des arguments?


@Jodrell mis à jour avec info demandée. La cible du raccourci nécessite des arguments.


Assurez-vous que le raccourci fonctionne réellement - il pourrait être brisé.


@Chals Le raccourci fonctionne. Il pointe vers un fichier BAT - je peux exécuter le fichier BAT et le raccourci via Point-clic.


4 Réponses :


17
votes

Pourriez-vous poster du code. Quelque chose comme ça devrait fonctionner: xxx


0 commentaires

11
votes

Réglage usehelexecute = false était le problème. Une fois que j'ai enlevé cela, il a cessé de s'écraser.


1 commentaires

Cela est encore plus important maintenant car .NET CORE a modifié la valeur par défaut de cette propriété sur FALSE. Je courais dans ce moment où je ne me trouvais pas de cette propriété.



0
votes

Si votre fichier est EXE ou un autre type de fichier comme ".exe" ou ".mkv" ou ".pdf" et que vous voulez exécuter avec le lien de raccourci, votre code doit comme ceci. de
de
Je veux gérer "translator.exe" programme.

Process.Start(@"C:\Users\alireza\Desktop\Translator.exe.lnk");


0 commentaires

1
votes

Si vous utilisez Useshelexecute = Faux et essayez de lancer un fichier de commandes, assurez-vous d'ajouter .bat à la fin du nom de fichier. Vous n'avez pas besoin .bat si useshelexecute = vrai cependant. Cela m'a fait perdre une heure de travail ... dans l'espoir de sauver quelqu'un d'autre.


2 commentaires

Bienvenue à Stackoverflow et merci d'avoir aidé. Prendre le Tour vous procurera votre premier badge. S'amuser.


Je ne comprends pas. Pourquoi voudriez-vous laisser tomber l'extension de fichier?