Cambiar el sistema DateTime Format c #

Necesito cambiar / actualizar / configurar el formato de fecha y hora predeterminado de mi sistema (windows7)programáticamente y permanentemente hasta que lo cambie yo mismo a través del código o de la GUI de Windows

He probado muchas soluciones como esta deProyecto de Código

       Console.Write(DateTime.Now + "");
       RegistryKey rkey = Registry.CurrentUser.OpenSubKey(@"
       Control Panel\International", true);
        rkey.SetValue("sShortDate", "dd/MM/yyyy");
        rkey.SetValue("sLongDate", "dd/MM/yyyy");
       Console.Write(DateTime.Now + "");

La respuesta más cercana y con buena reputación está siguiendo desdeEstablecer el formato de fecha y hora predeterminado c #, Probé esta solución pero no me ayudó. Como no cambia el formato de fecha y hora de mi sistema (se muestra en la barra de tareas). Y después de reiniciar la aplicación con este código, nuevamente obtengo el formato anterior antes de que se ejecute este código.

using System;
using System.Globalization;
using System.Threading;

namespace test 
{
    public static class Program
    {
        public static void Main() {
          Console.Write(DateTime.Now + "");// MessageBox.Show(DateTime.Now + "");
          CultureInfo culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
          culture.DateTimeFormat.ShortDatePattern = "dd-MMM-yyyy";
          culture.DateTimeFormat.LongTimePattern = "";
          Thread.CurrentThread.CurrentCulture = culture;
          Console.Write(DateTime.Now + "");// MessageBox.Show(DateTime.Now + "");
        }
    }
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta