waitforexit visual studio start net example ejemplos .net process

.net - visual - system.diagnostics.process.start arguments



¿Por qué StartInfo(ProcessStartInfo) siempre está vacío? (4)

De acuerdo con MSDN :

Si no usó el método Start para iniciar un proceso, la propiedad StartInfo no refleja los parámetros utilizados para iniciar el proceso. Por ejemplo, si usa GetProcesses para obtener una matriz de procesos que se ejecutan en la computadora, la propiedad StartInfo de cada Proceso no contiene el nombre original o los argumentos utilizados para iniciar el proceso.

De acuerdo, eso tiene perfecto sentido. Mi pregunta es: ¿por qué estos parámetros están en blanco incluso cuando usas Process.Start ()?

Por ejemplo:

Dim startInfo As New ProcessStartInfo("firefox.exe") startInfo.Arguments = "www.stackoverflow.com" startInfo.WindowStyle = ProcessWindowStyle.Minimized Process.Start(startInfo) For Each proc As Process In Process.GetProcessesByName("firefox") Debug.Print(String.Format("ProcessID={0}; Arguments={1}", _ proc.Id, proc.StartInfo.Arguments)) Next proc

En este caso, aunque proporcioné Argumentos, esa propiedad todavía está vacía:

texto alternativo http://www.sg-squared.com/images/startinfo.png

¿Lo que da?


Obtiene una instancia de proceso diferente desde GetProcessesByName que cae en el último caso de la instrucción en MSDN.


Todavía está haciendo un GetProcess, por lo tanto, continúa funcionando de la misma manera. El hecho de que lo hayas empezado no hace la diferencia.

Process.Start (...) devuelve el proceso que inició. Espero que si revisa la propiedad StartInfo en eso, se completará.


Uf, eso es frustrante. Creo que probablemente podrían hacer esa documentación un poco más clara ya que es fácil de leer que como "si usas Process.Start entonces esa información estará disponible".

Supongo que tendré que usar WMI después de todo, ah bueno.


¡Process.StartInfo parece estar vacío siempre!

Obtuve toda la lista de procesos en ejecución y trato de volcar valores en StartInfo, pero los más de 100 campos de información de procesos están vacíos.

Desde MSDN:

"Si no usó el método Start para iniciar un proceso, la propiedad StartInfo no refleja los parámetros utilizados para iniciar el proceso. Por ejemplo, si usa GetProcesses para obtener una matriz de procesos que se ejecutan en la computadora, la propiedad StartInfo de cada Proceso no contiene el nombre del archivo original o los argumentos utilizados para iniciar el proceso ".

Tendrás que utilizar WMI para obtener esa información por el momento.