標籤:
接下來用記事本手寫代碼:
1,建一個空的記事本,敲入以下代碼
#include "windows.h"int WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine, int cmdShow){ MessageBox(NULL,"HelloWorld!","Info",MB_ABORTRETRYIGNORE|MB_ICONINFORMATION); return 0;}
2,開啟CMD視窗,輸入cl.exe /? 是否有報錯,如果有報錯 運行
D:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT
盤符看VC 6.0的安裝路徑,這裡也可以雙擊cl.exe如果報錯缺少mspdb60.dll,到百度上去下個放到目前的目錄
3,把目前的目錄切到記事本所在路徑 cd D:\XXX\XXX\XXX
把記事本改名為XXX.c 例如 hello.c
1,編譯:cl.exe /c hello.c 會產生一個hello.obj的檔案
2,連結:link.exe hello.obj user32.lib 會產生一個hello.exe
雙擊hello.exe 彈出MessageBox
4,WinMain參數 lpCmdLine 表示什嗎?
把代碼修改如下:
#include "windows.h"int WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine, int cmdShow){ MessageBox(NULL,lpCmdLine,"Info",MB_ABORTRETRYIGNORE|MB_ICONINFORMATION); return 0;}
編譯,連結....
雙擊hello.exe ... 嗯 什麼都沒有,彈出來是空的 感覺被忽悠了
隨便拖一個檔案到hello.exe 有沒看到什嗎?MessageBox裡顯示拖進來檔案的路徑 知道lpCmdLine是什麼了吧,也知道視頻檔案拖到播放器就可以播放是怎麼實現的吧
控制代碼:現在暫時理解為控制代碼是用來找到記憶體的,絕對不是指標
int WINAPIWinMain(
HINSTANCE hInstance,//當前程式的執行個體控制代碼
HINSTANCE hPrevInstance,//當前程式前一個執行個體控制代碼
LPSTR lpCmdLiine,//命令列參數字串 char*
int nCmdShow//視窗的顯示方式,最大化,最小化...
);
int MessageBox(
HWND hWnd,//父視窗控制代碼,以h開頭基本可以確定為控制代碼
LPCTSTR lpText,//顯示在訊息中的文字 char*
LPCTSTR lpCaption,//顯示在標題列中的文字
UINT uType//訊息框中的按鈕、表徵圖顯示類型
);返回點擊的按鈕ID
編寫視窗程序的步驟:
1 定義WinMain函數
2 定義視窗處理函數(處理訊息)
3 註冊視窗類別
4 建立視窗(在記憶體中建立視窗)
5顯示視窗(根據記憶體的資料將視窗繪製出來)
6訊息迴圈(提取/翻譯/派發)訊息
7訊息處理
資源的使用
編寫資源的檔案-.rc資源指令檔
編寫rc檔案-RC.EXE
將資源連結到程式中-LINK.EXE
Windows核心編程02-記事本寫代碼深入理解cl.exe和link.exe