Cuando analiza la línea de comando, coloque los pares argumento/valor en Dictionary
con el argumento como la clave. Luego, su arg("SetTime")
se convertirá en:
MessageBox.Show(dictionary["SetTime"]);
(Obviamente no desea el diccionario real a ser público.)
Para obtener los argumentos en primer lugar que puede utilizar:
string[] args = Environment.GetCommandLineArgs();
Esto devolverá todos los argumentos, por lo que deberá analizar la matriz en pasos de dos (después de comprobar primero que la longitud es un múltiplo de dos +1):
The primer elemento del array es el nombre del programa en ejecución - MSDN Page - por lo que el bucle tiene que partir de una:
for (int index = 1; index < args.Length; index += 2)
{
dictionary.Add(args[index], args[index+1]);
}
Este bucles en pasos de dos como se define cada argumento es un par de valores: el identificador y el valor real en sí, por ejemplo
my.exe -arg1 value1 -arg2 value2
A continuación, puede ver si el argumento es especificado por ver si la clave -arg1
está en el diccionario y luego leer su valor:
string value;
if (dictionary.TryGetValue(arg, out value))
{
// Do what ever with the value
}
Esto significa que puede tener los argumentos en cualquier orden y omita cualquier argumento que no desee especificar.
Relacionados [WPF Command Line] (http://stackoverflow.com/questions/426421/wpf-command-line) – Vache
¿Has probado codeplex? Hay muchas implementaciones diferentes para el análisis de línea de comando. –
Hay muchas bibliotecas para manejar args de línea de comando, consulte: http://stackoverflow.com/questions/491595/best-way-to-parse-command-line-arguments-in-c –