前言:
學習逆向工程經典書籍《加密與解密》需要先學習《windows程式設計》這本書籍,在來來回回折騰之後,遂決定好好品讀這本書,以為看《加密與解密》打基礎,
寫部落格是為了加強對知識的理解及鞏固以及對知識的複習。好了不多說,下面上**:
#includelresult callback wndproc(hwnd hwnd, uint message, wparam wparam, lparam lparam);int winapi winmain(hinstance hinstance, hinstance hprevinstance, pstr szcmdline, int
icmdshow)
hwnd =createwindow(
//視窗類名稱
text("
the hello program
"), //
視窗標題
視窗風格
cw_usedefault, //
初始x座標
cw_usedefault, //
初始y座標
cw_usedefault, //
初始x方向長度
cw_usedefault, //
初始y方向長度
null, //
父視窗控制代碼
null, //
視窗選單控制代碼
hinstance, //
程式例項控制代碼
null //
建立引數
); showwindow(hwnd, icmdshow);
updatewindow(hwnd);
while (getmessage(&msg, null, 0, 0
))
return
msg.wparam;
}lresult callback wndproc(hwnd hwnd, uint message, wparam wparam, lparam lparam)
return
defwindowproc(hwnd, message, wparam, lparam);
}
winmain的四個引數分別代表的含義是:hinstance代表當前例項控制代碼,hprevinstance代表上乙個程式的例項控制代碼,szcmdline代表命令列,icmdshow代表程式視窗是以最大化、最小化展示。
**中的showwindow在螢幕中顯示視窗,而updatewindow則會向視窗過程函式傳送wm_paint訊息使視窗進行重繪,createwindow則會在內部建立視窗並儲存資料,直到showwindow呼叫顯示視窗。在呼叫createwindow時,會產生wm_create對視窗進行一些初始化工作。
基於乙個視窗類可以建立多個視窗,建立多個視窗使只需要在createwindow函式中初始化第乙個引數為視窗類的名稱(也就是wndclass.lpszclassname)。
getclientrect函式第二個引數會獲取客戶區的尺寸,以便drawtext在客戶區尺寸內顯示文字,drawtext中的-1是指字串以0結尾。
任何沒有對應case的訊息會由defwindowproc進行處理,以及每條訊息處理完後都要返回0。
如何改變視窗標題(視窗命名)
sdititle 的單文件型別的工程,建立完工程後,編譯執行該工程,程式主視窗標題形式如下 文件標題 主視窗標題 1 文件標題的改變 文件標題在是由工程中相應的文件類所控制的,因此我們可以利用settitle 函式來改變文件標題。例 改變csdititledoc onnewdocument 函式為 ...
如何修改MFC視窗標題
mfc程式的預設的標題是 無標題 title 其中title是應用程式的名稱,我們應如何修改mfc視窗標題來符合自己的要求?mfc程式的文件類中定義了乙個虛函式settitle,用於設定視窗標題的前半部分,如果只是要修改 無標題 部分,可以過載文件類的該函式。視窗標題的後半部分可以通過setwind...
查閱可視視窗標題
查閱可視視窗標題 下面只是舉出乙個例子提供參考 運用api函式 getwindow 配合getwindowtext 逐一查出各視窗的標題 1.file new project 開始乙個新的工程 2.在 form1 中安排 button 與 memo 各一 3.在 button1 的 onclick ...