學習筆記——windows程式運行原理

來源:互聯網
上載者:User

作業系統把它所能夠完成的功能以函數的形式提供給應用程式使用,應用程式對這些函數的調用就叫做系統調用,這些函數的集合就是Windows作業系統提供給應用程式編程的介面(Application Programming Interface),簡稱Windows API。

作業系統將每個事件都封裝成一個稱為訊息的結構體MSG來傳遞給應用程式,
MSG結構定義如下:
typedef struct tagMSG {      
     HWND   hwnd;     
     UINT   message;
     WPARAM wParam;
     LPARAM lParam;
     DWORD  time;
     POINT  pt;
} MSG;

關於控制代碼
控制代碼(HANDLE),資源的標識。
作業系統要管理和操作這些資源,都是通過控制代碼來找到對應的資源。按資源的類型,又可將控制代碼細分成表徵圖控制代碼(HICON),游標控制代碼(HCURSOR),視窗控制代碼(HWND),應用程式執行個體控制代碼(HINSTANCE)等等各種類型的控制代碼。作業系統給每一個視窗指定的一個唯一的標識號即視窗控制代碼。

WinMain函數 
Windows程式的入口函數
int WINAPI WinMain(
  HINSTANCE hInstance,      // handle to current instance
  HINSTANCE hPrevInstance,  // handle to previous instance
  LPSTR lpCmdLine,          // command line
  int nCmdShow              // show state
);

視窗的建立
      建立一個完整的視窗需要經過下面四個操作步驟:
設計一個視窗類別;
註冊視窗類別;
建立視窗;
顯示及更新視窗。

typedef struct _WNDCLASS {
   UINT     style;
   WNDPROC lpfnWndProc;
   int      cbClsExtra;
   int      cbWndExtra;
   HANDLE  hInstance;
   HICON    hIcon;
   HCURSOR  hCursor;
   HBRUSH   hbrBackground;
   LPCTSTR  lpszMenuName;
   LPCTSTR  lpszClassName; 
} WNDCLASS;

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.