Testa med följande kod Tack för hjälpen... Så brukar det ju även vara om du stänger av explorer.exe med aktivitetshanteraren. Explorer.exe är ju inte bara filexplorern utan även windows-skalet. Stänger man ned den sista explorer.exe så försvinner även startmeny, och då startar windows ev en ny explorer.exe (ibland måste man dock trycka CTRL+ALT+DEL och välja "File/New task(run)" och skriva Explorer.exe för att windowsskalet skall komma igång igen. Sedan påverkas det hela nog av huruvida man kryssat i "Open each folder window in a new process" under Tools/Options i explorern. Jag har ett program som är igång och jobbar hela dagen utan att jag rör datorn. När jag kommer hem på kvällen jobbar CPU:n (explorer.exe) med 70-80% även efter att jag avslutat mitt program. Det finns inga andra program igång. Avslutar jag "explorer.exe" går CPU:n ner på 3-4%. Jag kan, och gör, avsluta explorer manuellt utan problem, men eftersom jag tänker försöka köra en automatisk omstart av datorn mitt på dagen har jag ingen möjlighet att därefter avsluta explorer manuellt. Så ligger det till.... Är det prossecen Explorer.exe som ligger på 70-80% eller är det prestanda->CPU använding som ligger på 70-80%. Det går inte alltid att lite på CPU-mätaren i TaskManagern. Börja med att se till att "Show processes for all users" är ikryssad och kolla i listan om det är explorer.exe som tar all CPU. Detta har du kanske redan gjort... Om datorn bara ska användas till att köra ett visst program kan man ju konfigurera om den så att explorer aldrig startar, vid start av datorn, utan istället låta ens program starta. I äldre Windows ändrar man bara en rad i nån av startfilerna (från explorer.exe till nåt annat).Sv: Avsluta explorer.exe
Try
Dim TheProcesses() As Process = Process.GetProcesses()
Dim TheProcess As Process
For Each TheProcess In TheProcesses
If TheProcess.ProcessName = "explorer" Then
TheProcess.Kill()
End If
Next
Catch ex As Exception
' Fel hantering
End Try
Sv:Avsluta explorer.exe
Men det fungerar sådär. Om jag kör koden avslutas explorer men startar sedan automatiskt igen. Upptäckte dock att om jag kör koden upprepade gånger (4-5 ggr) med ca 800 ms ( 700 eller 900 fungerar inte) mellan så fungerar det.
Så det fungerar ju, men lite osäkert tycker jag.
//OlaSv: Avsluta explorer.exe
Varför vill du stänga av explorer.exe?
Förklara lite mer vad det är du vill uppnå så kanske det finns alternativa sätt att åstadkomma det på.Sv: Avsluta explorer.exe
Nu var det ett tag sedan jag testade att döda explorer.exe men tidigare så fungerade det i alla fall som ovan. Kan inte testa nu då jag har för mycket program i gång som jag inte orkar starta om, om det strular :-)Sv:Avsluta explorer.exe
//OlaSv: Avsluta explorer.exe
Är det Explorer.exe så bör du nog köra en virusscan.Sv: Avsluta explorer.exe
Jag skulle rekommendera att du därefter tankar ned ProcessExplorer från www.sysinternals.com. Ibland kan CPU-mätaren visa t ex 50% utnyttjande, men summerar man alla processers utnyttjande i taskmanagern så kommer man inte i närheten av 50%. Detta har hänt mig många gånger, och i detta läge har jag använt ProcessExplorer som då säger att "Hardware Interrupts" tar mellanskillnaden som inte syns i TaskManagern. Detta brukar beror på taskiga drivrutiner och/eller trasig eller inkompatibla hårdvaror.
En annan tanke, det är inte Indexing service eller dylikt som tar upp CPU:n? Sv: Avsluta explorer.exe
Sv: Avsluta explorer.exe
I Windows XP gör man enligt följande:
För alla användare:
1. Öppna Regedit
2. Gå till: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon.
3. Ändra Shell från explorer.exe till ditt nya skal/program genom att ange dess sökväg (t.ex. C:\Program\MittProgram.exe).
4. Logga ut och in igen
För den som är inloggad:
1. Öppna Regedit
2. Gå till: HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon.
3. Lägg till ett nytt strängvärde och döp det till Shell. Sätt värdet till den nya sökvägen (t.ex. C:\Program\MittProgram.exe).
4. Logga ut och in igen