1.windows編程的基本
/*以下爲自己學習《windows程序設計》書中的筆記*/
先從hello最簡單的東西來看,在控制檯程序上我們會這樣寫:
#include <iostream>
#include <string>
using namespace std;
int main()
{
cout<<"hello world!"<<endl;
return 0;
}
但是在Windows編程上是這樣的:
#include <windows.h>
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
MessageBox (NULL, TEXT ("Hello, Windows 98!"), TEXT ("HelloMsg"), 0);
return 0 ;
}
好的,從這兒開始一點一點的分解來理解:
(1)包含的庫文件window.h,它所包含的如下:
- WINDEF.H 基本型態定義。
- WINNT.H 支持Unicode的型態定義。
- WINBASE.H Kernel函數。
- WINUSER.H 使用者接口函數。
- WINGDI.H 圖形設備接口函數。
就跟我們的int main()的意義是一樣的:
int
WINAPI
WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nShowCmd
);
第一個參數:稱作「執行實體句柄」。在Windows程序設計中,句柄僅是一個應用程序用來識別某些東西的數字。在這種情況下,該句柄唯一地標識該程序,還需要它在其它Windows函數呼叫中作爲參數。
第二個參數:通過檢查hPrevInstance參數就能夠確定自身的其它執行實體是否正在運行。但在之後的32爲windows系統下,這個參數總是null。
第三個參數:用於執行程序的命令列。某些Windows應用程序利用它在程序啓動時將文件加載內存。
第四個參數:指出程序最初顯示的方式,可以是正常的或者是最大化地充滿整個畫面,或者是最小化顯示在工作列中