Ⅰ 怎麼樣學習熟練win32 api需要掌握哪些知識點、要點
以下是個人見解(一家之言哈):
學習win32編程掌握API不是目的,而是過程。不要單純為了學習API而學習,而是學習應用程序的開發過程中逐漸學習這些函數。不談MFC的話,比如要做win32開發有圖形界面的程序,就要學會創建窗口,彈出窗口,彈出對話框以及對窗口消息獲取,傳遞,處理等等。這些過程就會學到很多API函數。接著如果要學習網路間程序通信,就去學習網路編程里的一系列API函數。如果要學習多線程開發,就去學習創建線程的API,線程同步API等等。總之:學API不是目的,而是過程,學完了API是要為我們的應用程序開發服務的。
Ⅱ Win32 API是什麼啊怎麼用
API是Application Programming Interface的縮寫,即應用程序介面,它是由Win32操作系統提供給程序員的一系列函數介面的集合,這些函數可以對計算機系統進行各種各樣的操作,比如創建窗口、描繪圖形、使用周邊設備等等,它們猶如「積木塊」一樣,可以搭建出各種界面豐富,功能靈活的應用程序。所以可以認為API函數是構築整個WINDOWS框架的基石,在它的下面是WINDOWS的操作系統核心,而它的上面則是所有的華麗的WINDOWS應用程序。Win32系統負責實現API函數,為我們的程序控制計算機搭建一座便捷的橋梁。
我們常用的VC中的MFC庫(微軟基礎類庫)就是Visual Sudio集成開發環境為我們提供的以面向對象方式對Win32 API的封裝,無論我們是否使用了MFC庫,只要是開發Win32程序歸根結底都要調用Win32 API。
Windows API包括幾千個可調用的函數,它們大致可以分為以下幾個大類:基本服務、組件服務、用戶界面服務、圖形多媒體服務、消息和協作、網路、Web服務。這么多函數全部記住當然不可能,也沒必要,如上所述,集成開發環境開發環境提供的類庫和控制項封裝了大部分的API函數,且易學易用,極大地減少了Windows程序員的工作量,當然即使這樣,為了使程序代碼簡潔及效率高,我們的程序往往偶爾還需要直接調用Win32 API,所以我們還是需要適當的記住一些完成某些常用功能的API函數名,用法參數可以不記,因為可以現用現查。
至於MSDN,它是開發文檔,使用它可以方便地查詢Win32 API的功能、使用方法。
Ⅲ windows API編程的入門書
呵呵,有意思,你可以去看WINDOWS程序設計,,侯捷的還有一本
Windows API for 2000/XP實例精解也不錯的...找不到可以來找我...有空傳你...
Ⅳ win32 API入門的話,至少需要多長地時間拜託了各位 謝謝
從《windows程序設計》這本書開始 API難學,主要是想不到,所以看多了,自己動動手,時間長了也就成了高人啦.
記得採納啊
Ⅳ 最簡單的Windows API編程 求解
知其然要知其所以然。不管你是直接C++ source file, 還是 win32 Application,只要你了解其本質,那麼你可以通過簡單的配置,使你的程序成功運行起來。下面我告訴你如何在命令提示符(cmd.exe 或 command prompt)下編譯你的程序。
1.如何進入初始化編譯器環境的命令提示符:
1)如果還是使用VC++6.0。那麼在開始->運行中輸入cmd, 然後回車。在cmd.exe中使用cd命令進入你的VC++6.0安裝目錄的VC目錄下,應該可以找到vcvars32.bat, 然後在cmd.exe運行vcvars32.bat批處理腳步就可以了。
2)如果是VS 2005 2008 2010 2012,那麼在開始中找到對應目錄,在這個目錄下有個開發工具目錄,裡面有個vs x32 command prompt, 直接點擊就可以了。
2.如何在以上命令提示符中編譯你的程序,假設你上面的程序文件為test.c:
cl /? #查看編譯器使用幫助
cl /OUT:test.exe kernel32.lib user32.lib gdi32.lib /SUBSYSTEM:WINDOWS /ENTRY:WinMainStartup /MANIFEST:NO /MD test.c
這樣可以成功編譯出來的text.exe
Tip: 問題的關鍵是/SUBSYSTEM和/ENTRY
/SUBSYSTEM: [CONSOLES, WINDOWS, ...] 這是主要的兩個參數。
/ENTRY: [WinMainStartup, mainCRTStartup] 就這兩個參數。(WinMainStartup可能是WinMainCRTStartup,我記不清了)
問題關聯:
1.當你直接C++ source file時,/SUBSYSTEM:CONSOLES /ENTRY:mainCRTStartup (這時入口函數時main,<report LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main >, 它說crt0.obj使用了一個叫main的函數,你卻沒有寫...)
2.當你使用win32 application時,/SUBSYSTEM:WINDOWS /ENTRY:WinMainCRTStartup (這時你的程序符合要求,因為它找到了WinMain函數)
拓展:
#include<windows.h>
#pragma comment(lib,"User32.lib")
int main(int argc, char *argv[])
{
MessageBox(NULL,TEXT("開始學習"),TEXT("消息對話框"),MB_OK);
return 0;
}
把WinMain改成標准C/C++的main之後如何運行程序,因為你使用MessageBox函數,使用了win32 API, 故/SUBSYSTEM:WINDOWS。又因為你使用main函數為程序入口函數,故/ENTRY:mainCTRStartup。編譯命令如下:
cl /OUT:test.exe kernel32.lib user32.lib gdi32.lib /SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup /MANIFEST:NO /MD test.c
Note: 以上參數都可以在VC++開發環境工程設置裡面進行更改設置,由於我是在Unix下工作,很久沒有接觸VC,以上參數可能存在偏差,請使用cl /? link /? res /? nmake /?等自行仔細查看。另外,我建議開始編程使用命令加腳本的方式編程,學會使用自己編寫Makefile, 因為VC++的圖形開發環境本質就是建立在各種腳本之上,所以對排查程序錯誤能夠有本質上的認識。
Ⅵ windows編程 API編程 和MFC
1.無論是api還是mfc都是windows編程,只不過使用的方法有不同
api是win32編程,使用的語言是c
mfc主要使用c++語言,他把api封裝加工後以對像的方式調用,你學了c++學mfc可以幫你進一步學習c++的使用。目前mfc很多人都批評他,說他過時了,不過對於進一步學習c++有很大幫助,記住要學mfc的使用,更要學他的框架設計,不要迷失在什麼函數的調用上。現在和mfc同等級的比較受歡迎的平台還有Qt,wxwidgets,這兩個都是跨平台的,Qt比較火。不想學mfc可以學Qt什麼的,mfc學起來比較難。
其實win32 api編程足夠使用了,但是mfc在一般情況下做小型軟體比較簡單方便
2第一本書是大家普遍推薦的win32入門書,很受好評,他只是講api的使用方法,和mfc沒關系
第二本書也很受歡迎,是侯捷的作品,你學mfc的話最好看這本。無論學哪個,第一本必須看,他是mfc的基礎,畢竟mfc是封裝的第一本書里的函數。學不學mfc可以考慮,但是不學mfc那就必須學Qt,wxwidgets。他們對於提升c++水平很有幫助。
Ⅶ windows程序設計和windows核心編程 哪本更適合win32 api入門
當然是《windows程序設計》入門了,之後再看《windows核心編程》。但是《windows程序設計》多數與mfc有關系。
Ⅷ 學習Win32 API編程的話有哪些書可以推薦
對於你的要求只有一本書可看!
《Windows 程序設計(第5版)》
這是一本最權威的Windows API編程書籍,本書被稱為Windows程序設計的「聖經」
這本是盡人皆知的Win32 API編程經典,也稱為「Petzold Book」,學習Win32 API編程的人幾乎都從這本書入手。這本書的優點是落墨細致,對基本概念和基本技巧的解釋非常詳盡,不厭其煩。同時,這本書篇幅雖然不小,但是包容的東西並不多,基本上把重點放在GUI編程上和常規編程任務上,所以能夠把很多問題講得非常透徹。通常第一次閱讀這本書,都會覺得作者行文有一些羅嗦。但是日後在開發中,卻會發現,這些當時覺得羅嗦的論述,都是實際工作中值得反復查閱咀嚼的寶貴資料。這就是所謂的Petzold風格,既可做tutorial,又可做eference。