Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Windows教程綜合 >> 關於windows >> windows程序內部運行機制概述

windows程序內部運行機制概述

日期:2017/2/7 14:18:26      編輯:關於windows
 

Windows操作系統提供給應用程序編程的接口(Application Programming Interface)–API函數

所有主要的Windows函數都在Windows.h頭文件中進行了聲明。

 

句柄—資源的標識號。

消息啊由MSG結構體來表示的。

typedef struct tagMSG {

HWND hwnd; //消息所屬窗口

UINT message; //消息標識符①

WPARAM wParam; //消息的附加消息 unsigned ②

LPARAM lParam; //消息的附加消息 long

DWORD time; //時間 (int)

POINT pt; //光標位置

} MSG, *PMSG, *LPMSG;

① Windows將消息對應的數值定義為WM_XXX宏的形式

② 例:鍵盤按下那個鍵的ascii碼

基本win32程序實現步驟:

Ⅰ:WinMain函數的定義

Ⅱ:創建一個窗口

Ⅲ:進行消息循環

Ⅳ:編寫窗口過程函數

 

WinMain函數

int WINAPI WinMain(

HINSTANCE hInstance, //當前運行實例的句柄

HINSTANCE hPrevInstance, //前一個實例的句柄 ①

LPSTR lpCmdLine, //以空終止的字符串,指定傳遞給應用程序的命令行參數

int nCmdShow //窗口顯示的狀態

);

① Win32環境下,這個參數總是NULL

 

創建一個窗口的具體步驟:

Ⅰ:設計一個窗口類

Ⅱ:注冊窗口類

Ⅲ:創建窗口

Ⅳ:顯示及更新窗口

 

WNDCLASS結構體實現窗口類設計

typedef struct tagWNDCLASS {
  UINT      style; //窗口的樣式(可以用&~去掉不需要的樣式)
  WNDPROC   lpfnWndProc; //指向窗口過程函數(回調函數)的指針
  int       cbClsExtra; //類窗口附加內存,一般設為0
  int       cbWndExtra; //窗口附加內存,一般為0
  HINSTANCE hInstance; //實例句柄
  HICON     hIcon; //圖標句柄①
  HCURSOR   hCursor; //鼠標句柄②
  HBRUSH    hbrBackground; //背景畫刷句柄③
  LPCTSTR   lpszMenuName;//菜單名,設NULL則沒有窗口,菜單不是一個窗口
  LPCTSTR   lpszClassName;窗口類名
} WNDCLASS, *PWNDCLASS;

 

Copyright © Windows教程網 All Rights Reserved