New
#21
It really needs a 'Restore Defaults' button
kinda ended up looking through the source code to find what it was doing and hopefully revert the changes after I tried it, luckily you create the backup of explorer.exe :)
I dont think its using the right resource offset since it left my Start Icon like this:
I also noticed the KillsExplorer function doesn't cleanly exit explorer but merely kills it
It looks like your using VB so heres the code you require to exit explorer cleanly.
If you need code for anything then let me know and ill be happy to helpCode:Imports System.ComponentModel Imports System.Runtime.InteropServices Private Const WM_QUIT As UInt32 = &H12 <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _ Private Shared Function PostMessage(ByVal hWnd As IntPtr, ByVal Msg As UInteger, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As Boolean End Function <DllImport("user32.dll", EntryPoint:="FindWindow", SetLastError:=True, CharSet:=CharSet.Auto)> _ Private Shared Function FindWindowByClass(ByVal lpClassName As String, ByVal zero As IntPtr) As IntPtr End Function Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim pExplorer As IntPtr = FindWindowByClass("Progman", IntPtr.Zero) If Not pExplorer = IntPtr.Zero Then Dim result = PostMessage(pExplorer, WM_QUIT, IntPtr.Zero, IntPtr.Zero) If result Then 'do something here, explorer has exited Else Throw New Win32Exception(Marshal.GetLastWin32Error()) End If Else Throw New Win32Exception(Marshal.GetLastWin32Error()) End If End Sub