導航:首頁 > 編程語言 > windowssdk編程系列文章

windowssdk編程系列文章

發布時間:2022-04-21 01:04:49

Ⅰ 分享WINDOWS編程學習方法和書籍(最佳答案200分)

如果想踏踏實實的學習WINDOWS編程,那麼建議你從Windows API(SDK)編程開始學起,這樣你可以很透徹的學習windows編程的原理,例如消息傳遞機制等等。
學好了Windows SDK編程,可以再看看MFC編程就簡單多了。

SDK編程入門書籍可以看:
中文版:《Windows 程序設計(第5版)》
英文版:《Programming Windows (Fifth Edition) 》
【原出版社】 Microsoft Press
【作 者】(美)Charles Petzold
【譯 者】 北京博彥科技發展有限責任公司
【叢 書 名】 Microsoft 程序設計系列
【出 版 社】 北京大學出版社
【書 號】 730104187X

這本書的中英文電子版都可以在網上找到,你可以上網搜搜對它的評價!
http://www.china-pub.com/2382

更深入的學習可以看《windows核心編程》,MFC方面的可以看《深入淺出MFC》。

Ⅱ 如何明白Windows的SDK編程需要學習哪些內容

SDK其實就是WINDOWS平台提供的一套原生API。

要會WINDOWS編程你網路一下,搜索這幾篇文章,看一下,就知道如何學習編程了。~

如何正確入門Windows系統下C/C++學習領域?
掌握C/C++後,如何在Windows系統下開發有界面的程序?
如何正確入門Windows系統下驅動開發領域?
如何正確進入基於x86-64Bit Windows系統商業軟體破解領域?
如何正確的待匯編學習和反匯編學習?
成為VC++程序員,我需要學會哪些東西?

Ⅲ SDK編程是指什麼樣的編程方法

其實很簡單,SDK 就是 Software Development Kit 的縮寫,中文意思就是「軟體開發工具包」。這是一個覆蓋面相當廣泛的名詞,可以這么說:輔助開發某一類軟體的相關文檔、範例和工具的集合都可以叫做「SDK」。具體到我們這個系列教程,我們後面只討論廣義 SDK 的一個子集——即開發 Windows 平台下的應用程序所使用的 SDK。

呵呵,其實上面只是說了一個 SDK 大概的概念而已,理解什麼是 SDK 真有這么容易嗎?恐怕沒這么簡單!為了解釋什麼是 SDK 我們不得不引入 API、動態鏈接庫、導入庫等等概念。^_^,不要怕,也就是幾個新的名詞而已,我也是到了大學快結束的時候才體會到其實學習新知識就是在學習新名詞、新概念和新術語。

首先要接觸的是「API」,也就是 Application Programming Interface,其實就是操作系統留給應用程序的一個調用介面,應用程序通過調用操作系統的 API 而使操作系統去執行應用程序的命令(動作)。其實早在 DOS 時代就有 API 的概念,只不過那個時候的 API 是以中斷調用的形式(INT 21h)提供的,在 DOS 下跑的應用程序都直接或間接的通過中斷調用來使用操作系統功能,比如將 AH 置為 30h 後調用 INT 21h 就可以得到 DOS 操作系統的版本號。而在 Windows 中,系統 API 是以函數調用的方式提供的。同樣是取得操作系統的版本號,在 Windows 中你所要做的就是調用 GetVersionEx() 函數。可以這么說,DOS API 是「Thinking in 匯編語言」的,而 Windows API 則是「Thinking in 高級語言」的。DOS API 是系統程序的一部分,他們與系統一同被載入內存並且可以通過中斷矢量表找到他們的入口,那麼 Windows API 呢?要說明白這個問題就不得不引入我們下面要介紹得這個概念——DLL。

DLL(又是一個縮寫,感覺 IT 這個行業里三字頭縮寫特別多),即 Dynamic Link Library(動態鏈接庫)。我們經常會看到一些 .dll 格式的文件,這些文件就是動態鏈接庫文件,其實也是一種可執行文件格式。跟 .exe 文件不同的是,.dll 文件不能直接執行,他們通常由 .exe 在執行時裝入,內含有一些資源以及可執行代碼等。其實 Windows 的三大模塊就是以 DLL 的形式提供的(Kernel32.dll,User32.dll,GDI32.dll),裡面就含有了 API 函數的執行代碼。為了使用 DLL 中的 API 函數,我們必須要有 API 函數的聲明(.H)和其導入庫(.LIB),函數的原型聲明不難理解,那麼導入庫又是做什麼用的呢?我們暫時先這樣理解:導入庫是為了在 DLL 中找到 API 的入口點而使用的。

所以,為了使用 API 函數,我們就要有跟 API 所對應的 .H 和 .LIB 文件,而 SDK 正是提供了一整套開發 Windows 應用程序所需的相關文件、範例和工具的「工具包」。到此為止,我們才真正的解釋清楚了 SDK 的含義。

由於 SDK 包含了使用 API 的必需資料,所以人們也常把僅使用 API 來編寫 Windows 應用程序的開發方式叫做「SDK 編程」。而 API 和 SDK 是開發 Windows 應用程序所必需的東西,所以其它編程框架和類庫都是建立在它們之上的,比如 VCL 和 MFC,雖然他們比起「SDK 編程」來有著更高的抽象度,但這絲毫不妨礙它們在需要的時候隨時直接調用 API 函數。

Ⅳ windows SDK編程中常用的消息都有哪些

WM_LBUTTONDOWN;
WM_LBUTTONUP;
WM_RBUTTONDOWN;
WM_RBUTTONUP;
WM_LBUTTONDBLCLK;
WM_RBUTTONDBLCLK;
WM_CHAR;
WM_CREATE;
WM_CLOSE;
WM_DESTROY;
WM_QUIT;
WM_PAINT;

Ⅳ Windows SDK 是什麼

微軟每推出一個重要的windows版本,一般都會同時推出一個SDK(Software Development Kit)。SDK包含了開發該windows版本所需的windows函數和常數定義、API函數說明文檔、相關工具和示例。SDK一般使用C語言,但不包括編譯器。高版本VC++包括了SDK所有的頭文件、幫助、示例和工具,不需要再安裝SDK,低版本如VC++5.0則需要安裝SDK。從windows 98開始,windows SDK叫Platform SDK(http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en),包含最新的windows API函數的有關聲明、例子。
用VC編寫windows程序有兩種方式:windows c方式(SDK)和C++方式(對SDK函數進行包裝,如VC中的MFC、BCB中的VCL)。SDK編程就是直接用windows API進行編程。API由上千個API函數組成(win95中有兩千多個),而MFC是API的封裝,結合面向對象的繼承、多態組成一個個類,共有一百多個類組成。
SDK是Software Development Kit的縮寫,中文意思是「軟體開發工具包」。這是一個覆蓋面相當廣泛的名詞,可以這么說:輔助開發某一類軟體的相關文檔、範例和工具的集合都可以叫做「SDK」。 開發 Windows 平台下的應用程序所使用的 SDK只是廣義 SDK 的一個子集。
上面只是說了一個 SDK 大概的概念而已,要理解SDK 不得不引入 API、動態鏈接庫、導入庫等等概念。
首先要接觸的是「API」,也就是 Application Programming Interface,其實就是操作系統留給應用程序的一個調用介面,應用程序通過調用操作系統的 API 而使操作系統去執行應用程序的命令(動作)。早在 DOS 時代就有 API 的概念,只不過那個時候的 API 是以中斷調用的形式(INT 21h)提供的,在 DOS 下跑的應用程序都直接或間接的通過中斷調用來使用操作系統功能,比如將 AH 置為 30h 後調用 INT 21h 就可以得到 DOS 操作系統的版本號。而在 Windows 中,系統 API 是以函數調用的方式提供的。同樣是取得操作系統的版本號,在 Windows 中你所要做的就是調用 GetVersionEx() 函數。可以這么說,DOS API 是「Thinking in 匯編語言」的,而 Windows API 則是「Thinking in 高級語言」的。DOS API 是系統程序的一部分,他們與系統一同被載入內存並且可以通過中斷矢量表找到他們的入口。
DLL即 Dynamic Link Library(動態鏈接庫)。我們經常會看到一些 .dll 格式的文件,這些文件就是動態鏈接庫文件,其實也是一種可執行文件格式。跟 .exe 文件不同的是,.dll 文件不能直接執行,他們通常由 .exe 在執行時裝入,內含有一些資源以及可執行代碼等。其實 Windows 的三大模塊就是以 DLL 的形式提供的(Kernel32.dll,User32.dll,GDI32.dll),裡面就含有了 API 函數的執行代碼。為了使用 DLL 中的 API 函數,我們必須要有 API 函數的聲明(.H)和其導入庫(.LIB)。導入庫可以理解為是為了在 DLL 中找到 API 的入口點而使用的。
所以,為了使用 API 函數,我們就要有跟 API 所對應的 .H 和 .LIB 文件,而 SDK 正是提供了一整套開發 Windows 應用程序所需的相關文件、範例和工具的「工具包」。
由於 SDK 包含了使用 API 的必需資料,所以人們也常把僅使用 API 來編寫 Windows 應用程序的開發方式叫做「SDK 編程」。而 API 和 SDK 是開發 Windows 應用程序所必需的東西,所以其它編程框架和類庫都是建立在它們之上的,比如 VCL 和 MFC,雖然他們比起「SDK 編程」來有著更高的抽象度,但這絲毫不妨礙它們在需要的時候隨時直接調用 API 函數。
時下學計算機的大多想學編程,且大部分都是在Windows下工作的,而目前學得最熱門的是VC,大多數人一開始就開始學習VC,VC是以C++為語言基礎的開發工具,而C++是C語言的擴充,故要學好VC最好是先學好C和C++。
用VC編寫Windows程序有兩種:1. Windows c方式(SDK),2. C++方式:即對SDK函數進行包裝,如VC的MFC,BCB的VCL等。SDK編程就是直接調用Windows的API進行編程,平時人們常說"用SDK寫程序"就是指用Windows的API函數來寫程序,API由上千個API函數組成(Win95的API有兩千多個)。而MFC是API的封閉,結合面向對象程序設計的繼承性和多態性組成一個個的"類",共由一百多個類組成。盡管MFC比SDK方便,但要深入VC,直接去學MFC卻是不明智的選擇。只有在熟悉了MFC的運行機制的情況下,才有可能深入下去。所以學VC最好是先學用SDK編寫程序,在此期間掌握Windows操作系統的工作原理和各API函數的應用,然後再深入MFC。
編程環境
我們仍然用VC6的IDE(集成開發環境)來編寫SDK程序,啟動VC6後選擇File菜單的New...選項,在出現的New對話框的Projects標簽內選擇Win32 Application,然後在Projects Name指定項目的名字,在Location中指定路徑後按OK按鈕,在出現的對話框中,如果你想要用C語言來寫程序可以選擇An emtpy project,如果你想創建一個帶有WinMain入口函數和普通參數的設定的項目,可以選擇A simple Win32 application,如果您想創建一個簡單典型的「Hello World!」Win32SDK application應用程序,可以選擇A typical "Hello World!" application。確定項目類型後按Finish完成。
在VC6環境下,你依然可以使用資源編輯器和ClassWizar等工具完成程序的編寫。用SDK編寫程序關鍵是能夠了解程序的來龍去脈。如果不了解,當然那樣效率會很低,不比VB、PB那麼快,任何東西都是有得有失,如你熟悉用SDK寫程序後,對MFC會比較容易上手的,關鍵要熟悉C++的三大特性

Ⅵ windows SDK編程ListView控制項的特點

因為你在插入item時:lvI.pszText = LPSTR_TEXTCALLBACK;所以這個item是callback item

也就是說數據由程序員進行維護,需要顯示標簽的時候系統會給程序發送通知碼為LVN_GETDISPINFO的WM_NOTIFY消息

如果想將數據儲存在ListView控制項的內部空間,應在lvl.pszText直接指定文本 如lvl.pszText = rgPetInfo[index].szKind;
rgPetInfo數組變化,不會影響到ListView

callback item主要用於資料庫,需要標簽的時候從資料庫讀取,不是直接將所有數據都放在內存
例如假設資源管理器1個頁面可以顯示50個項目,總共有50000個文件
這50000個數據儲存在磁碟,而不是直接放在內存

只要在處理LVN_GETDISPINFO時,讀取磁碟,獲取當前需要顯示的50個項目的數據就可以了

Ⅶ 怎樣學習windowsSDK開發

簡單的說,SDK編程就是直接用windows API進行編程。至於API編程你應該知道吧,能編出強大的黑客程序,因為API是應用軟體和操作系統的介面。微軟每推出一個重要的windows版本,一般都會同時推出一個SDK(Software Development Kit,軟體開發工具包)。SDK包含了開發該windows版本所需的windows函數和常數定義、API函數說明文檔、相關工具和示例。
其實SDK只不過API編程的一種編輯環境罷了,VC++中就提供這種環境了。如果想在計算機領域發展的好一點,這種API編程是必需的,你只要上網搜Windows API就可以了,資源非常非常的多。

Ⅷ c++ 的 stl windows sdk mfc wtl 這幾個部分應該怎麼學習啊

1.打牢C++的語言基礎。
2.STL是C++的標准庫,基於模板技術,結合泛型設計思想,是一套學習C++本身的很好的庫,但需要很好的C++語言功底。在一般的C++書籍中,都會有STL的章節,不過一般只是講如何應用它。在學習數據結構的時候,結合STL來學習容器和演算法,再好不過,推薦書籍《STL源碼剖析》(侯捷),如果你覺得需要掌握更深層次的模版技術並加強對模版的正確認識和了解,請看《C++ Templates中文版》。
3.對於windows sdk,你可以看《windows 程序設計》(Charles Petzold),裡面的例子全是用C寫就的,有了C/C++的基礎,這些例子都很簡單。跟著書本循序漸進,你會獲益良多。接下來,你可以看《windows核心編程》(Jeffrey Richter),裡面有很多高級技術,例子也用C++寫成。讀完這兩本書,你對windows環境下的編程就有了清晰的了解。
4.對於MFC,有了第三部的積累,小菜一碟。前提是第三部分你要掌握的非常良好。如果你初讀《MFC深入淺出》(侯捷),你可能會覺得有所困難,不過不要泄氣,硬著頭皮也要學完前幾章,待到你把前幾章弄通後,哈,後面的就很容易學下去了,而且充滿樂趣(對我而言是如此的)!
5.WTL,一個非常棒的Frame。你學好了模板,再結合你對MFC的了解,學習WTL再簡單不過了。WTL最好的一個地方在於,它是基於模版和多重繼承實現的。由於模版的特性,WTL所有的源代碼都在頭文件中,這些源碼正是學習WTL的最好方法。到了這個階段,你會覺得,看WTL源代碼是一件頗為享受的事情,因為你得以一窺它是如何實現與MFC同名的一些函數的。自然,這里有一本書(其實不能算書,是Code Project上的一系列文章的集合),叫做《WTL for MFC programmer》,有中文版。
關於其它,對於windows的高級技術COM/COM+,已經不是現今的主流技術了,《COM本質論》的作者也說在.net大行其道的今天,COM已經沒落了,但現在windows的很多關鍵部分仍在應用COM,谷歌地球的自定義編程也是COM方面的內容。簡單來說,COM是基於二進制防火牆的跨平台的技術,內容繁雜,你可以先看《COM技術內幕》,再看《COM本質論》,如果你感興趣的話。我當時光看COM中的聚合,就搞得頭大。
學完COM,你能幹什麼呢?還不到時候。接下來就到ATL(活動模板庫)了,它是基於COM的框架。具體的內容我也沒怎麼學,我倒是買了本《ATL技術內幕》,留待以後學習吧。
拋開windows,但看C++本身,有很多有趣的東西。我首推《C++模板元編程》,這是一本考驗耐性和智力的書。同時你必然就接觸到了Boost庫,這個庫的名氣很大,我就不贅述了。如果你有興趣,可以看看腳本語言與C++的混合編程(僅是個人推薦,看你興趣),其中之一就是Boost::Python和C++的混合編程(當然,Python是一種獨立的腳本語言,Boost::Python只是用於C++編程的)。
還有什麼呢,還是模板,依舊是泛型編程。先提一個項目,「大芒果」,魔獸世界的網路變「單機」的伺服器。裡面應用到了很多這本書介紹的技術:《C++設計新思維-泛型編程與設計模式之應用》。當然,對於這么大一個項目,這只是冰山一角。
還有嗎?當然,數之不盡……

Ⅸ SDK編程

說明你對概念性的東西理解還不夠到位

編程是一個泛概念, 各個平台(win32, Linux, ARM, 單片機)的軟體編寫都叫編程, 方法各不一樣, 使用的編程語言也不一樣, 如何去比較優缺點呢? 如同C++和C#, 各有各的優點, C#簡潔高效, C++更底層, 要看你的應用場合去選擇.

SDK是軟體開發包的縮寫(Software Development Kit), 這個開發包是提供給用戶, 使用戶能夠更方便為某領域或者某功能進行方便的編程, 比如windows的編程, 微軟給我們提供的sdk, 我們都要下載一個平台sdk(Platform Software Development Kit), 這個平台sdk都是針對某一平台的, 如xp, 2003等等, 也就是說你要在xp上編程, 你必須遵循xp的sdk, 按照sdk的說明, 調用某一函數執行某功能, 比如MessageBox彈出一個提示信息. 這里的針對windows的這些函數, 還有一個別稱叫做win32 API, 也就是windows的sdk裡面的函數叫API(不是全部, 有些c的庫函數就不是, 這里指系統函數).

並非微軟才有sdk, 任何一個系統, 提供給開發人員編程介面都要提供sdk, 比如蘋果手機 你要做iphone上的來電監控程序, 你怎麼知道來電了系統會調用哪些函數呢? sdk會告訴你!

其他的編程方法, 按你的意思就是沒有sdk的編程, 那51單片機就是, 你編程只能按8051的指令系統來, 直接由8051cpu處理你的匯編代碼了.

Ⅹ 請介紹一本教C語言的windows SDK編程的入門書

《windows 程序設計(第五版)》--這一本如果你英文好的話可以買人民郵電出版社的,是英文版的,不過較貴,總價168元。分上下兩冊。裡面詳細用C語言講述了SDK編程和一些API的調用。中文版的話有北大翻譯的《windows程序設計》,這個有盜版的賣,大概50元左右。
《windows核心編程》既有中文版也有英文版,正版盜版都有。

閱讀全文

與windowssdk編程系列文章相關的資料

熱點內容
2k20解壓後不能進去 瀏覽:188
伺服器掉線後顯示什麼 瀏覽:204
python根據經緯度獲取國家 瀏覽:45
stop伺服器有什麼作用 瀏覽:584
雲伺服器集群游戲伺服器 瀏覽:544
澪pro點伺服器閃退怎麼回事 瀏覽:855
同城砍票在APP哪裡找 瀏覽:572
c反匯編與逆向分析技術揭秘pdf 瀏覽:390
皮革pdf 瀏覽:219
utf8bomlinux 瀏覽:746
騰訊雲伺服器介面崩潰後自動重啟 瀏覽:434
mac開發pdf 瀏覽:318
本地sdk編譯開源代碼 瀏覽:818
伺服器是什麼等級 瀏覽:122
江蘇美女程序員 瀏覽:723
在哪個app抽aj 瀏覽:6
素數加密演示 瀏覽:282
醫美類app哪個最好 瀏覽:739
一億個隨機數用什麼演算法排序 瀏覽:618
python指定id 瀏覽:307