第一个Windows程序讲解
????上次,我們一起寫了第一個Windows程序,雖然程序非常簡單,但是它卻可以幫助大家建立學好windows開發的信心。
??? 今天,就讓我幫助大家分析一下這個程序的內容。首先,我們的程序包含了一個頭文件:windows.h,這個頭文件包含了Windows下開發需要的所有結構體,宏和API的聲明。之后,我們又鏈接了一個靜態庫文件:User32.lib,這個文件是動態庫user32.dll的鏈接文件,通過使用User32.lib,可以讓我們的程序使用user32.dll的功能,這是動態庫調用的一種常用方法,這個方法的好處是不用我們操心動態庫的加載和釋放。user32.dll中主要包含的是Windows用戶界面相關應用程序接口的實現,比如,我們程序中使用到的MessageBox。
?? 最后,進入了我們這個程序的核心,這個核心就是winmain函數,這個函數是所有windows程序的入口點,它就好比main函數,不同的是,winmain主要用于windows程序,而main函數主要用于控制臺程序。
?? winmain函數的生命如下:
?? int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow);
???大家只需要記住,只要是Windows程序,就一定要寫Winmain,只要是Winmain函數,就一定要按照它的聲明方式來寫。
?? 之后,我們的WinMain函數調用了MessageBox函數,這個函數的功能就是彈出一個對話框,它的原型如下:
??? int WINAPI MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType);
??? 相信,很多初學者一看到這個函數的參數就會發暈,下面,我跟大家簡要介紹一下這些參數,以及它們的意義:
??? WINAPI:這個是函數的調用方式,大家現在先不需要理解它,只需要知道它就是一個調用方式的聲明就可以了。
??? HWND:它就是一個窗口的標識符號,它的本質就是一個整數,在Windows中每個窗口都有一個標識符。
??? LPCTSTR :這個就是一個字符串指針,只要記住就可以。
??? UINT:它是一個無符號的32位整數,就好比unsigned int。
??? 之后,我們再說明一下這個原型的參數意義:
??? hWnd:這個是我們這個對話框窗口的父窗口標識符,我們這里只有一個對話框,所以,它沒有父窗口,因此,設置為NULL就可以了。
?? lpText:這個是我們窗口中的內容,我們窗口的內容是:開始學習Windows編程。
?? lpCaption:這個是我們窗口的標題,我們窗口的標題是:消息對話框。
?? uType:它可以決定對話框的內容和行為的位標志集,我們這里是MB_OK,意思是在我們的界面中提供一個確定按鈕。其它的標志,大家可以參考下面的表格:
表1 ? uType參數
??
?????大家可以回去自己去實踐一下每個參數的意義,這里就不過多介紹。
????好了,今天,我們一起分析例了第一個windows程序的源代碼,希望大家自己回去后,再分析一遍,看看自己是否可以看明白程序的意思。
???
?????
???
轉載于:https://www.cnblogs.com/niulanshan/p/6174730.html
總結
以上是生活随笔為你收集整理的第一个Windows程序讲解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hdu1072广搜
- 下一篇: stm32 DMA使用详解