fichiers batch sont une technologie très ancienne. Littéralement aussi ancien que DOS. Donc par leur nature, la capacité de communiquer est limitée.
Les programmes de l'époque DOS sont principalement communiqués via "ERRORLEVEL". Le retour dans le programme Console affecte toujours le niveau d'erreur. 0 a été retourné pour "pas de problème". Tout le reste pour un problème. Batchfiles pourrait le vérifier. Et je suis 90% certaines fenêtres l'utilise encore réellement - si une configuration retourne n'importe quoi mais 0, il demande "devrais-je essayer encore avec des arrangements de compatibilité?" En utilisant EXIT vous pouvez définir quel ERRORLEVEL le fichier batch "renvoie".
Cependant, il existe une autre façon, en fonction de la façon dont les programmes sont verbeux: IO redirection. Gardez à l'esprit que les fichiers batch sont interprétés.
Vous devez donc exécuter le programme console, puis donner l'ordre d'exécuter la console (généralement en tant que paramètre avec chemin d'accès complet, voir la documentation de la console pour plus de détails). Enfin, l'exécution d'un fichier batch en tant qu'administrateur a tendance à vider complètement les chemins. Le fichier batch doit être designed to compensate.
Bien sûr, si ces programmes sont écrits par vous-même, vous disposez d'options telles que la communication interprocessus. Mais je suppose que ce n'était pas le cas en ce moment.
Edit: Il semble que j'ai mal compris la question. Si un programme demande des privilèges Adminsitrative en raison d'un manifeste ou est exécuté avec des runes mais que l'élévation est refusée, l'exécution n'est jamais effectuée. Le programme n'est même pas démarré par Windows. Il est propablement pas même chargé en mémoire.
Cette image est l'UAC de Windows, vous n'obtiendrez pas la réponse de cela. Vous pouvez même le désactiver pour qu'il ne soit jamais affiché. Si 'oui' le processus va s'exécuter, sinon il ne sera pas –