¿Cuál es la diferencia entre ejecutar una línea desde cmd y hacer doble clic?

¿Cuál es la diferencia entre ejecutar una línea desde cmd y hacer doble clic?

Tengo un programa minero y si hago doble clic y lo ejecuto, funciona bien, pero si lo ejecuto desde la línea cmd usando el nombre del ejecutable, no se ejecuta, falla.

Intenté ejecutar CreateProcessla función usando DETACHED_PROCESS, pero si el ejecutable de llamada se llama desde cmd, falla. Cuál es la diferencia entre ellos ? ¿Podría ser algo relacionado con la información de inicio? ¿Puedo activar un doble clic desde cmd si eso es posible de alguna manera?

información relacionada