¿Y por qué no ha de funcionar?
Código:
Pseudo código:
IF (param(1) = 'win') OR (opcion_registro = 'min') THEN
IniciarMinimizada
ELSE
IniciarNormal
ENDIF
Es decir, la aplicación iniciará minimizada siempre que el parámetro de la línea de comandos sea 'win' o en el registro de Windows se establezca la opción 'min'
La opción del registro se establece cada vez que el usario cierra la aplicación con tal opción seleccionada. Pero aún cuando no haya sido así, el parámetro 'win' le indicará que inicie minimizada.
La lectura aquí es que en lugar de complicarnos la vida buscando métodos para detectar si Windows está inciando sesión, le ayudamos un poco pasando ese parámetro. Claro está que si alguien inicia la aplicación pasando explícitamente el parámetro, se iniciará minimizada, pero no creo que sea algo para quitarnos el sueño.
// Saludos