Explorer. exe 是什麼?為什麼從 Windows 95 開始到現在的 Windows 10,「文件資源管理器」窗口開啟過多就會崩潰並重啟桌面?它與開始菜單、任務欄、桌面等有什麼關聯?
explorer.exe是Windows95到Windows Me,Windows NT4到Windows10的默認shell(代替了Windows3.2的程序管理器),同時也是默認的文件管理器(代替了https://github.com/Microsoft/winfile)。
explorer負責了任務欄,開始菜單,桌面的顯示,同時也是文件管理器,功能複雜,實現起來更加複雜(尤其是Windows10,包含了很多UWP組件,穩定性差)。explorer提供了介面可以被第三方DLL注入,因此更會降低穩定性,一旦explorer主進程崩潰,桌面和任務欄就會消失(一般會自動重啟)也因為explorer提供了用戶打開其他程序的主要方式(開始菜單/固定到任務欄/桌面),Windows10的任務管理器定位到explorer.exe時結束進程會變成重啟進程。
shell是操作系統提供給用戶的交互程序,分為圖形shell和命令行shell兩種。shell直譯就是殼,即內核外層的東西。
常見的命令行shell有 Windows的cmd.exe,powershell,Unix下的Bash,Zsh,Fish。Windows Server,Windows PE默認使用cmd作為shell,開機後只有一個命令行的窗口。命令行shell沒有多任務能力,一次只能顯示一個文本程序,現在很少有人只使用命令行操作計算機。
桌面系統的圖形shell則比較複雜,可以分為多個組件:桌面,任務欄/dock,開始菜單/Launcher,通知區域等
桌面經常由文件管理器負責,例如Windows的explorer,macOS的finder,通常顯示/Users/&/Desktop下的文件,這些圖標的操作方式一般和文件管理器內部沒有差別。
Windows的任務欄由explorer負責,而macOS的dock程序塢是獨立的程序/System/Library/CoreServices/Dock.app
Windows的開始菜單在Windows7及之前是explorer的一部分。Windows8中「開始」改成了類似移動端的開始屏幕,Windows10改成了獨立的UWP,但是和explorer仍有密切的關係,比如開始菜單卡死了可以重啟explorer解決。macOS的Luncher啟動臺是獨立的程序/Applications/Launchpad.app
Windows的通知區域是任務欄的一部分,而macOS則是獨立在頂欄的右半部分。
Explorer包含了很多的功能,而且可以通過各種手段插入插件,因此穩定性不如macOS這種分離式設計。當然,我仍然覺得Windows的多任務管理比macOS直觀。
移動操作系統的用戶界面相比更加簡化,只有啟動器/主屏幕/開始屏幕(上香)和多任務界面。
下面是歷史內容
觀察早期的Windows可以看到explorer是怎麼成為shell的
Windows95雖然是16/32位混合系統,但是開始菜單/任務欄/桌面/資源管理器4功能於一體的explorer一直延續到Windows10.
Explorer.exe早在Windows 95(Chicago)開發早期就引入了
這是ReactOS的explorer的源代碼,和Windows Server2003很接近
使用的模擬器:windows2/3 The Original IBM PC in a Web Browser
Windows95 win95
Windows Chicago的更多信息
說出來你可能不信,其實windows根本沒有桌面。桌面其實是資源管理器的一部分,任務欄開始菜單也是資源管理器的一部分。 所以資源管理器出BUG崩了,桌面任務欄一起崩,就是這樣。
explorer管理了 Windows的任務欄,資源管理器,文件窗口,並且大部分桌面程序都是explorer的子進程
所以在發生文件窗口『卡死』時強行結束該窗口,會導致任務欄和所有窗口界面消失,桌面只剩壁紙。
一般情況下explorer會自動重啟,如果沒有,可以考慮crtl+alt+del喚出運行任務管理器,運行cmd,再輸入explorer.exe手動啟動。
順便提一下,在做dll注入或者hook時,為了保證重啟目標程序也能保持hook,直接注入hook explorer的CreateProcess,可以保證每一個新起的進程馬上被hook,因為explorer是一切gui的父進程。
你手動打開的應用以外,直接能看見的東西大部分都是它負責
包括但不限於
登錄界面,桌面,任務欄,控制面板,回收站,開始菜單,win+R的運行,安全選項界面,右下角的網路面板,操作中心和日期,並且它還佔據了許多重要快捷鍵。
explorer其實就是系統自帶的圖形界面版內核與用戶交互軟體,正常Windows上一切的應用都需要通過explorer直接或者間接打開,比如桌面上點擊打開應用(exe),文件資源管理器打開應用,ctrl+alt+del運行任務管理器,任務管理器打開應用,win+r打開應用,開始菜單打開應用,Windows徽標右鍵powershell打開應用。
Windows RE裏explorer被替換成了cmd.exe,cmd.exe也可以打開應用,這2個組件其實功能都是一樣的「人機交互」。
2月12日修正:登錄界面和安全選項界面是winlogin.exe
Explorer.exe最早在Windows 95就出現了。
Windows Explorer,資源管理器。
explorer的前身是program manager,所以首要任務是為系統提供一個圖形化訪問界面。從95開始,這個界面包含了桌面,開始菜單,任務欄這些是很好理解的。但由於桌面被設計成文件夾綁定的形式,所以微軟等於實現了整個文件管理器組件。現在最新的win10好像據說桌面已經和資源管理器分離了
以前電腦內存不夠 想玩遊戲就進入任務管理器關掉explorer進程
看了幾個回答,其實真沒那麼複雜,很好解釋:
Explorer.exe 是用戶與電腦裏文件系統、文件互動的軟體,類似 Mac OS 裏的 Finder,DOS 時代的 http://command.com,各種UNIX liker 下的各種 Shell。
9102年了,竟然還有人在用老掉牙的explore這種落後的低效率不穩定的純gui界面
為啥要叫explorer呢?我猜估計是為了證明ie是和系統緊密結合的。