Exec vs ExecWait vs ExecShell vs nsExec:: Exec vs nsExec:: ExecToLog vs nsExec:: Exectotack vs ExecDos vs ExeCmd
puis-je savoir quelles sont les différences entre chaque Exec
,ExecWait
, ExecShell
,nsExec::Exec
,nsExec::ExecToLog,
nsExec::ExecToStack
,ExecDos
et ExecCmd
, comme quand les utiliser?
j'ai posté les différents appels exécutez que je connais. J'essaie de dresser une liste exhaustive pour aider les futurs visiteurs..
Exec
: exécute simplement la chaîne appelée, que ce soit une application, une console ou un fichier.ExecWait
: Exécute commeExec
mais attend la fin du processus.ExecShell
:c'est pour Quoi?nsExec::Exec
: commeExec
ouExecWait
mais seulement pour l'invite de commande et que trop sans ouvrir la fenêtre de la console. Je ne suis pas sûr s'il attend pour le processus de sortie.nsExec::Exec
attendre la sortie du processus enfant?nsExec::ExecToLog
:The documentation says ExecToLog
est similaire à la plainensExec
mais il sort pour enregistrer fenêtre. Qu'est-ce à dire, qu'est ce qu'une fenêtre de log?nsExec::ExecToStack
: La documentation ditExecToStack
est similaire à la plainensExec
mais il pousse la sortie vers la pile. Je le conçois.ExecDos
: identique ànsExec::ExecToStack
mais il en plus (Est-il pas?)A. prend le paramètre string qui sert de stdin pour exécuter l'application.
B. fonctionne en sync / async mode.
c. il fonctionne de la section .onInit sorties de contrôle.
ExecCmd
: identique àExecDos
mais il n'a pas besoin de cesExpandEnvStrings %COMSPEC% ExecDos::exec /C
les pièces. ai-je raison?
2 réponses
1) 2) 3)
Exec
et ExecWait
utiliser CreateProcess à l'interne et ne peut lancer que des programmes et des fichiers par lots.
ExecShell
Shellexécute ce qui signifie qu'il peut également lancer n'importe quel type de fichier enregistré (.txt .chm etc) et URLs. Il doit également être utilisé si le programme que vous démarrez doit s'élever avec UAC.
4)
nsExec redirige stdout donc une fenêtre de console n'est pas visible lorsque le processus enfant s'exécute. Et oui, il attend.
5)
la fenêtre de log sur la page instfiles.
7)
Oui, ExecDos et ExecCmd sont des versions plus avancées de nsExec.
8)
Correct
ExecWait
attend et peut donc retour trucs! docs.
ExecShell
est aussi capable de masquer la fenêtre de sortie. docs
ExecCmd
est considéré comme dépassé et remplacé par ExecDos
. les deux sont des plugins supplémentaires pour les ins qui ne sont pas livrés par défaut. docs