windows程式執行原理

2021-06-13 12:26:57 字數 1353 閱讀 1233

1.寫乙個hello world程式

/*引數說明

* hinstance hinstance:程式可執行模組的控制代碼(記憶體中的.exe檔案)

* hinstance hprevinstance:在win32程式中總是為null.

* lpstr lpcmdline:命令列引數組成的乙個單字串.不包括程式名字.

* int ncmdshow:乙個將要傳遞給showwindow()的整數

*/#include int winapi winmain(hinstance hinstance, hinstance hprevinstance,

lpstr lpcmdline, int ncmdshow)

說明:1.hinstance用作裝入資源或其它的以模組為單位的任務.乙個模組是乙個裝入到你程式的exe或者dll.

2.winapi指定呼叫規則並被定義為_stdcall

2.寫乙個視窗程式

#include const char g_szclassname = "mywindowclass";

//視窗過程,處理訊息迴圈送來的訊息

lresult callback wndproc(hwnd hwnd, uint msg, wparam wparam, lparam lparam)

return 0;

}//hwnd 訊息相應的視窗的視窗控制代碼,不同的視窗有不同的視窗過程

//windows系統中,螢幕上的視窗是以分層次的父視窗,子視窗的形式來組織的.

//如乙個視窗中有乙個按鈕時候,按鈕就是子視窗,包含它的視窗就是父視窗

//winmain是windows程式的入口函式

int winapi winmain(hinstance hinstance, hinstance hprevinstance, lpstr lpcmdline, int ncmdshow)

//第二步:建立視窗

hwnd = createwindowex(

ws_ex_clientedge,

g_szclassname,

"視窗已經建立",

cw_usedefault, cw_usedefault, 240, 120,

null, null, hinstance, null);

if(hwnd == null)

showwindow(hwnd, ncmdshow);

updatewindow(hwnd);

//第三步:訊息迴圈

while(getmessage(&msg, null, 0, 0) > 0)

return msg.wparam;

}

Windows 程式內部執行原理

2.應用程式 作業系統 計算機裝置硬體互動 windows程式設計完全是基於訊息的事件驅動模式 使用者需要完成某種功能,會呼叫os 某種支援,os將使用者的需要包裝成訊息,投遞到應用程式訊息對列中,應用程式從訊息對列取走訊息,做出響應 os感知裝置的變化 如滑鼠移動,鍵盤按下,並知道具體資訊 表示o...

windows 下程式的執行原理

在windows os下,資源管理器就如同linux下的shell,它是包圍在作業系統核心周圍的乙個應用程式。其實在linux系統下的gui,也是通過呼叫shell命令來實現其基本功能的,只不過是在shell上面又包裝了一件 華麗的外衣 讓使用者操作起來更加方便而已了。資源管理器作為使用者和作業系統...

學習筆記 windows程式執行原理

作業系統將每個事件都包裝成乙個稱為訊息的結構體msg來傳遞給應用程式,msg結構定義如下 typedef struct tagmsg msg 關於控制代碼 控制代碼 handle 資源的標識。作業系統要管理和操作這些資源,都是通過控制代碼來找到對應的資源。按資源的型別,又可將控制代碼細分成圖示控制代...