如何編寫控制面板程序

如何編寫控制面板程序

ID:23517440

大?。?5.42 KB

頁數(shù):5頁

時間:2018-11-08

如何編寫控制面板程序_第1頁
如何編寫控制面板程序_第2頁
如何編寫控制面板程序_第3頁
如何編寫控制面板程序_第4頁
如何編寫控制面板程序_第5頁
資源描述:

《如何編寫控制面板程序》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、----------專業(yè)最好文檔,專業(yè)為你服務(wù),急你所急,供你所需-------------文檔下載最佳的地方如何編寫控制面板程序控制面板程序是用戶用于配置Windows環(huán)境的一些特殊動態(tài)連接庫(DLL)。Windows已經(jīng)為我們提供了一些標準的控制面板程序,如字體、鍵盤、鼠標設(shè)置等;如圖1所示。我們也可以根據(jù)實際的需要創(chuàng)建自己的控制面板程序,以便讓用戶來查看或者修改特定軟硬件的參數(shù)設(shè)置。控制面板的功能和操作方式控制面板程序的主要功能是顯示一個對話框讓用戶完成特定的任務(wù)。但是,與其它應(yīng)用程序不同的是,控制面板程序并不是一個獨立的應(yīng)

2、用程序,它不提供標準菜單或者其它方法讓用戶直接去操作這些對話框,而是在其他應(yīng)用程序(如控制面板)的控制下操作和顯示它們的對話框的??刂泼姘宄绦蛲ǔJ怯梢粋€Windows的系統(tǒng)工具(即控制面板)所控制,從而讓用戶來運行的。但是,其它應(yīng)用程序只要發(fā)送控制面板程序所需要的消息并且處理它們的返回值同樣可以加載并且管理這些控制面板程序,為了陳述簡單,下文中我們將這類程序統(tǒng)稱為控制面板。大多數(shù)的控制面板程序僅顯示并且維護一個對話框讓用戶來控制系統(tǒng)某一個部件的參數(shù)設(shè)置以及操作方式,但事實上控制面板程序可以提供多個對話框來控制多個系統(tǒng)部件(這些單

3、個的對話框通常被稱為Applet小程序)。為了區(qū)分這些對話框,控制面板程序通常為每個對話框提供一個圖標??刂泼姘鍎t把這些圖標顯示出來,供用戶選擇不同的對話框進行配置。程序入口函數(shù)前面提到,控制面板程序是特殊的動態(tài)連接庫(DLL),在每一個控制面板程序中必須提供一個標準的函數(shù)入口CPlApplet,控制面板程序通過這個函數(shù)來接收控制面板發(fā)送的消息,從而執(zhí)行相應(yīng)的功能,如初始化程序、顯示并且管理對話框以及關(guān)閉程序等。當控制面板首次加載控制面板程序時取得CPlApplet函數(shù)的地址,通過該地址去調(diào)用控制面板程序的函數(shù)以及給它發(fā)送消息。控

4、制面板可以向控制面板程序發(fā)送的消息名稱及其意義如下表所示:消息名稱含義CPL_DBLCLK該消息通知CPlApplet函數(shù)用戶雙擊了某對話框相關(guān)聯(lián)的圖標。CPlApplet應(yīng)該顯示相應(yīng)的對話框并且完成用戶指定的任務(wù)。CPL_EXIT該消息在最后一條CPL_STOP消息之后,并且控制面板調(diào)用FreeLibrary函數(shù)釋放包含控制面板程序的動態(tài)連接庫DLL之前調(diào)用。CPlApplet應(yīng)該釋放所用資源準備關(guān)閉。CPL_GETCOUNT該消息在發(fā)送了CPL_INIT消息之后發(fā)送,CPlApplet應(yīng)該返回一個整數(shù)指明它支持多少個對話框。C

5、PL_INIT該消息在控制面板動態(tài)連接庫DLL程序首次加載時調(diào)用,CPlApplet在此可以執(zhí)行一些初始化過程,包括內(nèi)存的分配。CPL_INQUIRE該消息在CPL_GETCOUNT消息之后發(fā)送,讓CPlApplet提供特定對話框的信息。CPlApplet的lParam2參數(shù)指向一個CPLINFO結(jié)構(gòu)。CPL_NEWINQUIRE該消息在CPL_GETCOUNT消息之后發(fā)送,讓CPlApplet提供指定對話框的信息。----------專業(yè)最好文檔,專業(yè)為你服務(wù),急你所急,供你所需-------------文檔下載最佳的地方---

6、-------專業(yè)最好文檔,專業(yè)為你服務(wù),急你所急,供你所需-------------文檔下載最佳的地方參數(shù)lParam2是指向NEWCPLINFO結(jié)構(gòu)的指針,在Windows95andWindowsNTversion4.0,為了提高性能,控制面板程序應(yīng)該處理CPL_INQUIRE消息,而不是CPL_NEWINQUIRE消息。CPL_STOP在控制面板關(guān)閉前向每一個對話框發(fā)送該消息。CPlApplet應(yīng)該釋放與給定對話框相關(guān)聯(lián)的內(nèi)存資源。消息處理回調(diào)函數(shù)CPlApplet處理所有由控制面板發(fā)送給控制面板程序的上述消息,這些消息是按

7、照特定的順序來發(fā)送并且處理的。當控制面板首次加載控制面板程序的動態(tài)連接庫時,CPlApplet收到CPL_INIT消息。CPlAppet在處理該消息的程序中應(yīng)該執(zhí)行一些初始化的工作,如分配內(nèi)存等,并且返回非0值;如果CPlApplet初始化失敗,則應(yīng)該返回0,控制面板將停止向CPlApplet發(fā)送消息并且釋放已經(jīng)加載的動態(tài)連接庫DLL。當CPL_INIT消息處理成功之后,CPlApplet函數(shù)將收到CPL_GETCOUNT消息,CPlApplet函數(shù)必須返回該控制面板程序所支持的對話框的數(shù)目。對應(yīng)控制面板所支持的每一個對話框,CP

8、lApplet函數(shù)收到由控制面板發(fā)送的一條CPL_INQUIRE消息和一條CPL_NEWINQUIRE消息。函數(shù)需要用控制面板程序的信息填充CPLINFO或者NEWCPLINFO結(jié)構(gòu)體,如名稱、圖標以及描述字符串等。多數(shù)控制面板程序僅需處理CPL_

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。