Windows Shell 程式設計 序

2021-04-18 16:11:40 字數 3097 閱讀 7135

序言:

看過一些對windows 外殼的擴充套件程式,在使用上一般都是直接利用windows的外殼api做一些工作,因為外殼操作需要一些比較專業的知識,因此,大部分程式設計人員特別是使用整合程式設計環境的程式人員對windows shell的擴充套件程式設計不很了解,也缺乏這方面的資料。

在做過一些程式之後,感覺到使用windows shell的擴充套件程式設計可以使程式與作業系統的結合更加緊密,就好像應用程式已經融入到作業系統之中一樣。在使用windows shell擴張程式設計工具的過程中深切體會到windows shell技術資料的重要性,為此,根據dino esposito的《visual c++ windows shell programming》為藍本,編譯形成以下文字,為希望使用windows shell程式設計的人員提供一點幫助。

系統的演變

在windows 95

和windows nt 4.0

中微軟通過各種不同的擴充套件使作業系統的

shell

可程式設計並高度客戶化,

shell

和命名空間擴充套件只是其各種擴充套件的冰山一角。對

shell

程式設計的一般理解還包括有

shell

的api

函式和登錄檔鍵等,他們也可以轉變你的

win32

應用。

整合的web

瀏覽器已經混淆了本地與遠端物件的差別,它在你的桌面上使用相同的風格表示每乙個事物。它可以擴充套件到包含使用者的應用和資料。整合新的

windows shell

部件是這個程序的關鍵部分。所以,現今的

shell

不僅僅是

com、擴充套件和使用者介面,還包含了

internet

、動態html

和指令碼windows

。shell

已經成為了包含大量客戶端技術的匯集點。每乙個開發基於

windows

**的程式設計師,很快或不久就將需要實際和深入例程來探索

windows shell

的內在特徵。這本書包含了全部

api函式詳細說明,揭示其中的

bugs

和沒有說明資料的特徵。它深入到探測器的內部世界,帶出其中閃亮的東西,比如,鉤子、登錄檔、瀏覽器幫助物件、

shell

擴充套件、命名空間擴充套件和

web觀察。他還注意到

windows

指令碼環境擴充套件和

shell

指令碼物件。

這本書是為專業開發者定製的,有三個主要的目標:

為現存的和資料貧乏的

shell api

提供解釋

給出新應用概念

顯示關於

ie4.0

、活動桌面和

windows98

的新特徵和這些新特徵怎樣適應以存在的

shell。

本書範圍

在這本書中我們見致力於回答下面一般的問題

什麼是shell api

和我怎樣使用它

怎樣使用登錄檔來客戶化我的

windows shell

我怎樣才能建立向「**站」和「我的公文包」那樣的特殊目錄

有哪些不同的方法把**插入到探測器位址空間

怎樣處理圖示、任務條和「**站」

什麼是windows

指令碼環境,我怎樣才能使用它

什麼是shell

指令碼物件和瀏覽器幫助物件

我怎樣才能實現

shell

對我的應用處理的文件的支援

我怎樣才能客戶化我的文件的關聯選單

我怎樣在

shell

和命名空間擴充套件中使用

com和

atl來改變

shell

的行為

怎樣排除

shell

擴充套件中的錯誤

解釋建立成功的

shell

整合的應用的原理和所需要的技術

我是怎樣使用動態

html

客戶化乙個資料夾的

每乙個shell

程式設計問題都使用實際例程進行說明,例子程式是由

vc++6.0

和atl3.0

書寫的。這本書中還有一些更有趣的例程:

「開始」按鈕的子類

建立和安裝新的增強型快捷方式處理器 和

windows

指令碼環境一起工作的新物件

依據控制板尺寸指派不同的圖示和

bitmap

檔案的shell擴充套件

探測器中的按鍵和建立新的資料夾

在探測器中把開啟的視窗作為節點顯示

技術準備

準備一台執行

windows98

、windows95

或windows nt 4.0 (

帶有servicepack4.0)

的計算機就不用說了,還要特別注意的是有些例程要求你安裝

ie4.0

以上版本。

**是由

vc++6.0

和atl3.0

寫成的,在

cv++5.0

中可能會有錯誤。書中還使用了

windows

指令碼環境和

ie4.01

環境編寫了一些示例。

習慣用法

書中使用不同的文字方格和布局來區分不同的資訊。下面是一些例子和他們的意義。

框中是重要的說明資料,它們直接向關於上下文內容。

其它資訊以文字形式出現如下.

重要文字以黑體形式給出

出現在螢幕山的文字,如選單選擇,與實際螢幕顯示的字型相同

鍵盤上的按鍵如crtl

和delete

使用斜體

所有檔名都有

pidl.cpp

這種風格

函式名則有

shbrowseforfolder()

這種風格

void callback timerproc(hwnd hwnd, uint umsg, uint idevent, dword dwtime)

windows shell常用命令

檢視環境變數 set設定環境變數 利用dumpbin檢視可執行檔案pe coff 詳細資訊 參考 檢視32位還是64位 dumpbin headers my.dll findstr i machine 檢視依賴的動態庫 dumpbin dependents my.dll 檢視匯入的符號 dumpbi...

程式與程式設計

一 程式 是告訴計算機 做什麼 以及 如何做 的指令集合,即把處理問題的步驟以計算機可以識別和執行的語句表示出來。成品 二 程式的基本構成 類似自然語言的文章 基本符號 單詞 語句 函式 程式 三 程式設計 是給出解決特定問題的程式的過程。程式設計過程應當包括分析 設計 編碼 測試 排錯等不同階段。...

VC 服務程式程式設計

所謂服務程式,就像系統的一些服務一樣,能夠自動地啟動,並執行相應的操作 而且因為服務程式的在層次上和一般的應用程式不同,其能夠在系統啟動時就自動地執行,而不像一般的應用程式那樣一定要在登陸後才能執行,這些就是服務的一些好處了,如果你也想你的程式具有這樣的功能,那麼你就可以建立乙個服務應用程式了。下面...