2009-07-08 7 views
0

i ont utilisé le code suivant pour répéter une création de processus/fermeture itérativementComment démarrer de manière itérative dans VB.NET? ou argument changement dynamique

dim vProcessInfo as new ProcessInfo 
For i= 1 to 100 
dim p as new Process 
vProcessInfo.Arguments = "some"+i.toString() 
p.StartInfo = vProcessInfo 
p.Start() 
p.WaitForExit() 
p.Close() 
Next i 

le code ci-dessus a fonctionné pour moi avec succès. mais cela prend trop de temps pour la création de processus et l'élimination. J'ai dû changer dynamiquement l'argument du processus dans l'itération. existe-t-il un moyen de changer l'argument du processus dynamiquement. ou existe-t-il une meilleure méthode pour réduire le temps. pls me aider

+3

Pourquoi est-ce marqué comme C# lorsque votre code est VB? – scwagner

+0

désolé erreur de frappe –

Répondre

2

« Est-il possible de changer l'argument de processus dynamique » - voulez-vous dire que vous voulez commencer un processus, et modifier ses arguments de ligne de commande après qu'il a commencé? Non, vous ne pouvez pas le faire - mais vous pouvez communiquer avec d'autres manières, par exemple:

  • Utilisation de l'entrée/sortie standard (par exemple les lignes d'écriture de texte à son entrée standard)
  • fichiers à l'aide (par exemple, vous écrivez à un fichier, il surveille le répertoire, récupère le fichier et le traite)
  • tubes nommés ou prises

Création d'un processus est une opération relativement lente. Vous ne pouvez pas facilement l'accélérer, mais si vous pouvez modifier votre processus d'une manière ou d'une autre, et le lancer une seule fois, cela devrait le rendre beaucoup plus rapide.

+0

merci pour votre réponse, mais l'exe n'est pas créé par moi, donc il ne prend pas de fichiers d'entrée. –

+0

Eh bien, si l'application vous oblige à créer un nouveau processus à chaque fois, je ne vois pas que vous avez beaucoup d'options. Vous êtes sûr que vous ne pouvez pas passer plusieurs options en une fois? –

Questions connexes