win32系統編程
『壹』 Win32編程原理
所謂的Win32開發,就是在C語言的層面上,直接使用Win32API開發Windows應用程序或者系統程序。雖說現在直接用Win32API開發應用程序的人已經不多了,但是深入理解Windows系統程序設計原理,仍然是成為Windows開發高手的良好途徑。所謂的Win32,其實是一個API規范,與UNIX系統編程介面標准POSIX是相對應的。下面是進行直接的WIN32SDK方式編程的基本思路或者說是一個框架:
一個Windows程序分為程序代碼和UI(UserInterface用戶介面)資源兩大部份,兩部份最後以RC編譯程序整合為一個完整的EXE文件。所謂UI資源是指功能菜單、對話框、程序圖標、游標形狀等等東西。這些UI資源的實際內容(二進制代碼)系藉助各種工具產生,並以各種擴展名存在,如.ico.bmp.cur等等。程序員必須在一個所謂的資源描述檔(.rc)中描述它們。RC編譯器(RC.EXE)讀取RC文件的描述後將所有UI資源文件集中製作出一個.RES文件,再與程序代碼結合在一起,這才是一個完整的Windows可執行文件。
與控制台程序相同的是,一個Win32程序也必須有一個程序入口點,但是在這兒它不再叫main(),而叫做WinMain(),當WINDOWS的SHELL檢測到用戶欲執行一個EXE程序,就會調用載入器把程序進行載入,然後調用Cstartupcode,後者再調用WinMain(),程序的執行就開始了,WinMain()函數的原型為:
intCALLBACKWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnCmdShow);
下面程序必須進行必要的初始化工作-產生窗口,第一步是注冊一個窗口類:用API函數:RegisterClass(),而這個函數需要一個已經定義好的系統結構:WNDCLASS,這個結構裡面定義了窗口的種種屬性,需要自己定義,但是許多屬性都有默認值。然後調用CreateWindow()函數來產生具有上述定義屬性的已注冊窗口,但是需要注意的是它只是生成窗口,但並不顯示之,所以還需要調用一個函數ShowWindow()將它顯示在屏幕上,做完這些初始化工作以後,系統將進入消息循環:
while(GetMessage(&msg,NULL,0,0)){
TranslateMessage(&msg);
DispatchMessage(&msg);}
當消息循環捕捉到消息以後將交由窗口函數WndProc()窗口函數進行相應的處理。這樣,一個基於消息事件驅動的WIN32程序的雛形就建立了起來。
『貳』 Win32是什麼什麼叫Win32編程
WIN32就是基於32位的windows平台
WIN32編程就是針對32位windows平台的編程開發
現在有了64位的windows系統,但是貌似還沒見WIN64
『叄』 感覺win32編程好難啊! 大學學得難嗎要怎樣學win32更高效呢怎樣才能學好win32編程
我覺得這樣來學:c》c++》win32asm》vc++》mfc》windows底層開發api並不是說包不包括的問題,api是用其他的編程語言來調用,win32就可以直接調用api,vc++也是通過調用api來編程,不過有點封裝,而mfc更是封裝的很深,你基本上看不到api函數的原型了。win32asm是不帶封裝的,直接調用api,是了解操作系統運作的最佳途徑。
『肆』 Win32 API編程跟 windows編程有什麼區別
AWin32PI是控制台應用程序,就是運行時出現一個就像dos黑色窗口,而widows程序設計是窗口應用程序,就像WORD,記事本等這樣的有窗口框架的程序設計。
windows編程和Win32API語言的主要區別是,Win32API不是專門為Windows程序所發明的語言,其它平台,如MaAPI和Linux都可以用API++,只不過Visual API++在它們上沒辦法運行就是了。
『伍』 什麼是win32編程
就是在windows平台調用系統提供的一些函數和方法編程,
這是windows操作系統編程的基礎,但是現在很少有單獨的win32編程了,一般都是使用C# .net,或者MFC+ATL之類的封裝好的環境來編程
『陸』 「熟悉win32環境下編程」其中的win32環境下編程是不是就是c/c++那個編程環境啊
win32環境, 指windows的32位操作系統, 一般就是指windows的PC客戶端了
『柒』 初學者Win32編程問題請教
網頁鏈接 windows有自己的api文檔msdn,裡面有全套的api介面說明。
『捌』 Win32 API 編程 跟 windows編程有什麼區別
API編程跟windows編程區別:
1.API是控制台應用程序,就是運行時出現一個就像dos黑色窗口,而widows程序設計是窗口應用程序,就像WORD,記事本等這樣的有窗口框架的程序設計。
編程思想不同,API語言是面向過程的,可以理解為順序的執行;而Widows是面向過程的,事件觸發,模塊化的編程思想,如果學過VB的話就很容易理解。
另外API的程序入口函數是main,windows程序的入口函數是Winmain,windows定義了很多句柄和宏定義,剛開始理解起來有些困難,比如int
WINAPI
WinMain
(HINSTANAPIE
hThisInstanAPIe,
HINSTANAPIE
hPrevInstanAPIe,
LPSTR
lpszArgument,
int
nFunsterStil)
。
2.windows編程和API語言的主要區別是,API++不是專門為Windows程序所發明的語言,其它平台,如MaAPI和Linux都可以用API++,只不過Visual
API++在它們上沒辦法運行就是了。另外一點,API++不是Java,不帶自己的圖形界面設計包。所以面向用戶的界面要由其它程序來完成,這才是VAPI的主要目的,單純用API++是不行的。
簡單地說就是利用windows的應用程序介面(API),編寫windows程序。如果用API,就是直接用這些API。如果用API,就用MFAPI(微軟基礎類庫,封裝了windows
的API)。
『玖』 Win32編程
win32一般都是用API直接編程,資料很容易找的;用面向對象方式寫隨便裝個環境IDE都能找到該類里都有什麼函數,你最好還是找本書系統的理解下,比如win32API編程,或是JAVA或者.net
『拾』 如何學習win32編程
win32編程可以用C來完成,主要是通過windows的API來工作.但是API上千個,想全部掌握很難,建議安裝一個MSDN隨時查看.書籍方面又Petzeld的Windows程序設計,上下兩冊,講的比較全面,但是內容很多.
我個人意見,我覺得你現在學win32編程倒不如先學C++,這樣以後既能做win32程序(過程很繁瑣),也能做MFC程序(明朗的多),而且有了面向對象思想之後,也可以繼而學習JAVA或C#,用C#做windows form程序那叫一個方便!
所以強烈建議你先學C++,估計你是對控制台那個黑屏厭煩的,但是進入windows後你會發現,它比DOS的還煩!