Diagnostico del sistema
Cuando escribí herramientas antes, usé System.Diagnostics.Process y System.Diagnostics.ProcessStartInfo para abrir software de terceros en Unity. Siento que esta operación es muy molesta, así que la registraré aquí.
Proceso
Docs
proporciona acceso a procesos locales y remotos y le permite iniciar y detener procesos del sistema local.
Atributos | anotación |
---|---|
Prioridad base | Obtiene la prioridad base del proceso asociado. |
Nombre del proceso | Obtenga el nombre del proceso. |
Información de inicio | Obtiene o establece la propiedad que se pasará al método Process de Start(). |
Hora de inicio | Obtenga la hora en que se inició el proceso asociado. |
Cerca() | Libera todos los recursos asociados con este componente. |
Disponer() | Libera todos los recursos utilizados por el Componente. |
Eliminar (booleano) | Libera todos los recursos utilizados por este proceso. |
Matar() | Detenga el proceso asociado inmediatamente. |
Matar (booleano) | Detiene inmediatamente el proceso asociado y, opcionalmente, sus procesos secundarios/descendientes. |
Al salir() | Genera el evento Salido. |
Comenzar() | Inicia (o reutiliza) el recurso de proceso especificado por la propiedad StartInfo de este componente de proceso y lo asocia con el componente. |
Inicio(ProcesoInformaciónInicio) | Inicia el recurso de proceso especificado por el parámetro que contiene información de inicio del proceso (por ejemplo, el nombre de archivo del proceso que se iniciará) y asocia el recurso con el nuevo componente de proceso. |
Inicio (cadena) | Inicie un recurso de proceso especificando el nombre de un documento o archivo de aplicación y asocie el recurso con el nuevo componente de proceso. |
Información de inicio del proceso
Especifica un conjunto de valores a utilizar al iniciar el proceso.
Atributos | anotación |
---|---|
Atributos | |
Lista de argumentos | Obtiene una colección de argumentos de línea de comando que se utilizarán al iniciar la aplicación. No es necesario escapar primero las cadenas agregadas a la lista. |
Argumentos | Obtiene o establece un conjunto de parámetros de línea de comandos que se utilizarán al iniciar la aplicación. |
CrearSinVentana | Obtiene o establece un valor que indica si se debe iniciar este proceso en una nueva ventana. |
Nombre del archivo | Obtiene o establece la aplicación o el documento que se iniciará. |
Estilo de ventana | Uno de los valores de enumeración que indica si el proceso se inicia en una ventana maximizada, una ventana minimizada, una ventana normal (es decir, ni maximizada ni minimizada) o una ventana invisible. El valor predeterminado es Normal. |
método uno
Utilice una instancia de la clase Proceso para iniciar un proceso. [Aquí está SublimeText como ejemplo]
Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "C:\\Sublime Text\\sublime_text.exe";
process.StartInfo = startInfo;
process.Start();
Método 2
Utilice la propia clase Process y el método Start estático para iniciar el proceso.
uno
Process.Start("C:\\Sublime Text\\sublime_text.exe");
Segundo
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "C:\\Sublime Text\\sublime_text.exe";
Process.Start(startInfo);
Acerca de los argumentos y ArgumentList en SatartInfo
ArgumentList : Obtiene la colección de argumentos de la línea de comando que se utilizarán al iniciar la aplicación. No es necesario escapar primero las cadenas agregadas a la lista.
Las propiedades ArgumentList y Arguments son independientes entre sí y sólo una de ellas se puede utilizar al mismo tiempo . La principal diferencia entre las dos API es que los argumentos proporcionados por ArgumentList se escapan y generan internamente una cadena que se pasará al sistema operativo al llamar a Process.Start(info). Por lo tanto, si no está seguro de cómo escapar de los parámetros correctamente, debe elegir ArgumentList en lugar de Arguments .