热门问题
时间线
聊天
视角
Windows shell
图形用户界面 来自维基百科,自由的百科全书
Remove ads
Remove ads
Windows shell是Microsoft Windows作業系統的圖形用戶介面。Windows shell易於識別的元素包括桌面、工作列、開始選單、任務切換器和自動播放等特徵。在Windows Vista,Windows 7上,還包括Flip 3D,在Windows 8.x上,含有超級按鈕欄(Charms欄)等功能。在Windows 10中,Windows Shell Experience Host介面可以驅動視覺效果,如「開始」選單,「操作中心」和「工作列」、Task View/Timeline。另外,Windows shell還實現了一個shell命名空間,該命名空間使Windows上運行的計算機程式能夠通過shell對象架構訪問計算機的資源。「桌面」是層次結構的頂級對象,在它之下有一些儲存在磁碟上的檔案和資料夾,以及一些內容為虛擬或動態創建的特殊資料夾,如資源回收筒、控制面板、我的電腦、網路上的芳鄰等等。
基本上講,Shell是由資料夾組成的,資料夾是一個包含有子元素的容器,包括子資料夾,這些元素通常稱為資料夾項。根資料夾稱為『桌面』,其子項包括『我的電腦』,『網路上的芳鄰』,『資源回收筒』,和其他可能的項,所有這些資料夾的集合稱之為Shell的命名空間。資料夾實際上是一個Shell對象,它的行為被編碼成一個COM模組,向Windows Shell暴露公共的介面。通過連接,資料夾可以告訴Shell怎樣設計它的內容,使用什麼樣的圖示顯示,採用什麼文字來描述。檔案對象是一個包含在普通資料夾中的項—檔案、記錄、主記憶體塊、連接的裝置等。『資料夾項』、『資料夾元素』和『檔案對象』這些術語是等價的。任何資料夾的內容都是通過一個對象呼叫Shell viewer顯示在Windows explorer.exe中的。每一個資料夾都定義了他自己的Shell viewer對象,並且所有相關於這個用戶介面的任務都指派到這個對象上。
從概念上講,桌面是所有Windows Shell對象的父對象,即宿主對象。就實現方式而言,桌面是一個系統定義窗口類的特殊窗口(命名為#32769),並且是所有窗口的祖先窗口。那些匯出應用的頂層窗口一般而言都是桌面的子窗口。[1]
主要的Windows Shell部件就是工作列,它實際上就是由explorer.exe行程所擁有的一個窗口。當終止explorer.exe行程的時候,都將引起任務條的消失和重新顯現。每當工作列重新顯現的時候,它註冊一個具有不同HWND的新窗口。任務條擁有「開始」按鈕的窗口,在托盤區域有時鐘和類似按鈕的控制項,表示正在執行的應用。任務條實際上與窗口一樣,可以在其上作任何窗口上可以做的操作如移動、隱藏和子類化等。
explorer.exe是一個扮演着系統外殼角色的應用程式。當說到外殼擴充的時候,就是由explorer.exe感知的、裝入的並最終執行的代碼塊。explorer.exe可以被看作為一個微型的窗口開發環境:它有自己的函數和對話方塊;允許寫特殊的與已存在的體系整合的應用程式;能包容應用和文件。甚至可以解釋任何活動的指令碼相容語言的指令碼(VBScript,JScript,Perl,等等)。採用COM介面和行程內伺服器(實質上的DLL)
在Win16環境中,與Shell唯一的通訊方式是通過動態數據交換(DDE)。
Shell API 函數:
Remove ads
參考文獻
外部連結
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads