windows編程筆記1

來源:互聯網
上載者:User

int WINAPI WinMain(

 

    HINSTANCE hInstance,

 

    HINSTANCE hPrevInstance,

 

    LPSTR lpCmdLine,

 

    int nShowCmd

 

    );

WinMain函式宣告為返回一個int值。WINAPI標識符在WINDEF.H定義,語句如下:

#define WINAPI __stdcall

該語句指定了一個呼叫約定,包括如何生產機械碼以在堆棧中放置函數呼叫的參數。許多Windows函數呼叫聲明為WINAPI。

 

hInstance WinMain的第一個參數被稱作「執行實體控制代碼」。在Windows程式設計中,控制代碼僅是一個應用程式用來識別某些東西的數字。在這種情況下,該控制代碼唯一地標識該程式,還需要它在其它Windows函數呼叫中作為參數。在Windows的早期版本中,當同時運行同一程式多次時,您便建立了該程式的「多個執行實體(multiple instances)」。同一應用程式的所有執行實體共用程式和唯讀記憶體(通常是例如菜單和對話方塊模板的資源)。程式通過檢查hPrevInstance參數就能夠確定自身的其它執行實體是否正在運行。然後它可以略過一些繁雜的工作並從前面的執行實體將某些資料移到自己的資料區域。

在32位Windows版本中,該概念已被拋棄。傳給WinMain的第二個參數總是NULL(定義為0)。

 

lpCmdLine WinMain的第三個參數是用於執行程式的命令列。某些Windows應用程式利用它在程式啟動時將檔案載入記憶體。

第一天現就抄寫這麼多吧,希望以後能堅持下去,把這本書好好看完

原始碼附上:

/*--------------------------------------------------------------<br /> HelloMsg.c -- Displays "Hello, Windows 98!" in a message box<br /> (c) Charles Petzold, 1998<br /> --------------------------------------------------------------*/</p><p>#include <windows.h></p><p>int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,<br /> PSTR szCmdLine, int iCmdShow)<br />{<br /> MessageBox (NULL, TEXT ("Hello, Windows 98!"), TEXT ("HelloMsg"), 0) ;</p><p> return 0 ;<br />}<br />

 

nShowCmd WinMain的第四個參數指出程式最初顯示的方式,可以是正常的或者是最大化地充滿整個畫面,或者是最小化顯示在工作列中。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.