Wyłączenie procesu explorer przez program WStudio C#

0

Witam.
Mam skrypt na wyłączanie procesu w Visual Studio C#.

 System.Diagnostics.Process[] localByName = System.Diagnostics.Process.GetProcesses();
                        foreach (var pr in Process.GetProcessesByName("explorer"))
                        {
                            
                                pr.Kill();
                                MessageBox.Show("zrobilem");
                        }
                            

I ogólnie to działa, ale jak zrobie, żeby wyłączył proces explorer (czyli pasek zadań w windowsie) to ten pasek na sekunde się wyłączy, ale z powrotem się załącza. Wie ktoś dlaczego i jak zrobić, żeby skutecznie wyłączał? Gdy się zakończy ten proces przez menadżer zadań to właśnie wyłącza pasek całkowicie i taki efekt chciałbym uzyskać.

0
class Program
{
    [DllImport("user32.dll")]
    public static extern int FindWindow(string lpClassName, string lpWindowName);
    [DllImport("user32.dll")]
    public static extern int SendMessage(int hWnd, uint Msg, int wParam, int lParam);

    [return: MarshalAs(UnmanagedType.Bool)]
    [DllImport("user32.dll", SetLastError = true)]
    public static extern bool PostMessage(int hWnd, uint Msg, int wParam, int lParam);

    static void Main(string[] args)
    {
        int hwnd;
        hwnd = FindWindow("Progman", null);
        PostMessage(hwnd, /*WM_QUIT*/ 0x12, 0, 0);
        return;
    }
} 

10 sekund w Google...

A tak btw. to w C# nie pisze się skryptów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1