Je voudrais exécuter un exécutable à partir d'un script CAPL. Y a-t-il une fonction pour ça?
Je cherche une fonction qui exécutera un exécutable en arrière-plan. Par exemple. Si un certain message est reçu, alors démarrez une application.
Y at-il une possibilité dans CAPL pour cela?En CAPL, existe-t-il une fonction pour démarrer/ouvrir un exécutable en arrière-plan?
Répondre
Oui, il y a deux fonctions pour le faire:
long sysExec(char cmd[], char params[]);
long sysExec(char cmd[], char params[], char directory[]);
long sysExecCmd(char cmd[], char params[]);
long sysExecCmd(char cmd[], char params[], char directory[]);
Ces fonctions exécutons une commande externe. Ils n'attendent pas que la commande ait terminé son exécution. La valeur de retour est 1 si la commande a été démarrée avec succès; sinon, 0. Notez qu'aucune valeur de retour de la commande elle-même ne sera renvoyée car l'appel n'attend pas la fin de la commande.
sysExec
doit recevoir un exécutable; sysExecCmd
appelle cmd.exe /K
avec le premier paramètre, qui ouvre une fenêtre de commande où la commande est exécutée comme si elle était entrée directement. Notez que dans le cas d'un environnement de simulation distribuée utilisant un périphérique VN8900, un module en temps réel (famille VT 6000) ou un serveur CANoe RT, sysExec
exécute la commande demandée sur la plate-forme distante.
Voici un exemple:
sysExec("C:\\windows\\notepad.exe", "");