windows編程,對初學(xué)者有點難度。windows多彩多姿的應(yīng)用程序,吸引著廣大的編程愛好者,我就是其中之一,從win98開始,就用其為平臺,開發(fā)windows應(yīng)用程序,現(xiàn)在已有二十余載了。
一般初學(xué)者理解的windows編程,就是做一個應(yīng)用程序。有點經(jīng)驗的,會把windows的API函數(shù)與VS,QT的IDE區(qū)分開,也就是說,在用IDE做應(yīng)用程序時,使用windowsAPI函數(shù),實現(xiàn)windows的功能,直接有效。
在windows剛上市時,大家都是用API函數(shù)及消息驅(qū)動來進(jìn)行windows編程的。
程序開始,就是一個for(;;)循環(huán),用于接收及處理windows的鍵盤按鍵消息、鼠標(biāo)按鍵消息等等。
API應(yīng)用程序接口是理解windows的基礎(chǔ),其函數(shù)非常多,包括:
1,消息驅(qū)動函數(shù)。最常用的,就是向某個對話框發(fā)送消息之PostMessage()函數(shù),從那來,到那去,還帶兩個參數(shù)信息。PostThreadMessage()也經(jīng)常用,應(yīng)用程序間傳遞。
2、進(jìn)程、線程創(chuàng)建函數(shù)。
做大型程序必須用。有關(guān)Process,Thread函數(shù)。這一塊是初學(xué)者理解的難點。
進(jìn)程、線程,是一個應(yīng)用程序的主框架。在做程序前,必須先搞明,要使用幾個線程,他們之間的消息Message聯(lián)系;打開幾個進(jìn)程,進(jìn)程之間的數(shù)據(jù)交換。
3,文件、圖形、文本、網(wǎng)絡(luò)、定時器、地址映射等。
做windows應(yīng)用程序,就是要使用其現(xiàn)成的資源,來實現(xiàn)編程。windows保護(hù)的東西比較多,不象車DOS下,可隨意操作。
比如,在windows下,通過RAM地址與下位機(jī)連接進(jìn)行通訊,那么,這個地址就不是可隨便選取的,DOS下0xD0000中的一段,可使用,而在windows下,必須獲得權(quán)限方可使用。
其它的,如文件、圖形、文本、網(wǎng)絡(luò)、定時器,相對容易,只要把函數(shù)原型看清楚即可。
我們經(jīng)常看到的Windows應(yīng)用程序,有各種類型的控件,如,按鈕Button,靜態(tài)文本顯示Static,編輯框Edit,多選Check/單選Radio,模板Templete,工具欄Toolbar,進(jìn)度條Progress,狀態(tài)欄Status等等,內(nèi)容非常豐富,應(yīng)有盡有。
這些都是MFC的資源文件RC及MFC豐富的類的功勞。使用MFC,很容易針對RC中的控件對象進(jìn)行編程,省去了DOS下的鍵盤、光標(biāo)、鼠標(biāo)、畫資源框等零碎的操作,這就是面向?qū)ο蟮暮锰帯?/p>
MFC好掌握嗎?有難度。但它很有挑戰(zhàn)!MFC囊括了我們編程中要用的所有類。即使現(xiàn)在下家熱衷使用的android系統(tǒng),在高版本的VS中,也可進(jìn)行開發(fā)。
所以,學(xué)習(xí)VS將會使你終生受益。
總結(jié):掌握了以上兩點,windows編程就基本入門了。我本人有二十余年的windows編程經(jīng)驗,基本用到了windows的主要功能。界面、網(wǎng)絡(luò)、數(shù)據(jù)庫連接、各種通訊、軌跡計算、語法解釋等等,基本都做過。windows編程很辛苦,也會遇到很多bug,這主要是由于VSIDE及windows操作系統(tǒng)的不斷升級的結(jié)果,但最后總能找到解決方法。
能夠與MS大師同步,不亦樂乎?!
(部分,僅為示意圖)