/*_############################################################################
_##
_## Programming Windows程式開發設計指南->第一章 例子程式
_## Author: xwlee
_## Time: 2007.01.09
_## Chang'an University
_## Development condition: win2003 Server+VC6.0
_##
_## HelloMsg.c 檔案
_##########################################################################*/
/*------------------------------------------------------------------
HelloMsg.c -- Displays "Hello, Windows 98!" in a message box
(c) Charles Petzold, 1998
--------------------------------------------------------------------*/
#include <windows.h>
int WINAPI WinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
MessageBox (NULL, TEXT ("Hello, Windows 98!"), TEXT ("HelloMsg"), 0|1);
return 0 ;
}
/*
WINDOWS.H是主要的含入檔案,它包含了其他Windows標頭檔,這些標頭檔的某些也包含了其他標頭檔。
這些標頭檔中最重要的和最基本的是:
· WINDEF.H 基本類型定義。
· WINNT.H 支援Unicode的類型定義。
· WINBASE.H Kernel函數。
· WINUSER.H 使用者介面函數。
· WINGDI.H 圖形裝置介面函數。
這些標頭檔定義了Windows的所有資料類型、函數調用、資料結構和常量標幟符,
它們是Windows檔案中的一個重要部分。使用Visual C++ Developer Studio的
Edit 菜單中的 Find in Files 搜尋這些標頭檔非常方便。您還可以在
Developer Studio中開啟這些標頭檔並直接閱讀它們。
WinMain的第一個參數被稱作「執行個體控制代碼」。在Windows程式設計中,
控制代碼僅是一個應用程式用來識別某些東西的數字。在這種情況下,
該控制代碼唯一地標識該程式,還需要它在其他Windows函數調用中作為參數。
在Windows的早期版本中,當同時運行同一程式多次時,您便建立了該程式的
「多個執行個體(multiple instances)」。同一應用程式的所有執行個體共用程式
和唯讀記憶體(通常是例如菜單和對話方塊模板的資源)。程式通過檢查
hPrevInstance參數就能夠確定自身的其他執行個體是否正在運行。然後它
可以略過一些繁雜的工作並從前面的執行個體將某些資料移到自己的資料區域。
傳給WinMain的第二個參數總是NULL(定義為0)。在32位Windows版本中,該概念已被拋棄。
WinMain的第三個參數是用於運行程式的命令列。某些Windows應用程式利用它在程式啟動時
將檔案載入記憶體。
WinMain的第四個參數指出程式最初顯示的方式,可以是正常的或者是最大化地充滿整個畫面,
或者是最小化顯示在工作列中。
*/