[Visual Basic] - Zabijanie/ uruchamianie procesu "explorer.exe"

Witam,

 

Pracuję właśnie nad programem, który edytuje pasek menu, elementy graficzne pulpitu itp.

Wszystko jest już prawie gotowe tylko potrzebuję napisać funkcję, która przeładuje powłokę systemową (zabije i uruchomi explorer’a), tak, żeby wprowadzone w programie zmiany były natychmiastowo widoczne. Niestety cały czas napotykam problem z zabiciem procesu explorer.exe.

Czy posiada ktoś może, bądź zna poprawnie działający kod do zabicia tego procesu?

 

Z góry dziękuję za pomoc,

blondkarol

Mógłbyś jeszcze podać z jakich sposobów dotychczas skorzystałeś?

Oj, pytanie z jakich nie skorzystałem. :smiley:

A tak na serio to tych:

Dim myProcesses() As Process

            Dim myProcess As Process

            myProcesses = Process.GetProcesses()

            For Each myProcess In myProcesses

                If myProcess.MainModule.ModuleName = "explorer.exe" Then

                    myProcess.Kill()

                    Exit For

                End If

            Next

Przy tej metodzie następuje wyjątek: “Procesy 32-bitowe nie mogą uzyskać dostępu do modułów procesu 64-bitowego.”.