Windowsプログラミング:開始

1900 ワード

最初のwindowsプログラム:まずwin 32アプリケーションを確立します.両者の違いについてはブログ「Hey,Win 32プロジェクトとWin 32コンソールプログラムを間違えないで」を参照してください.
main関数はよく知られており、多くのプログラマーがmain関数にも明確な戻り値があるはずです.Windowsプログラムのwinmain関数はmain関数と同じ構成部分、すなわちinclude文、プログラムエントリ、関数呼び出し、return文があります.
#include<windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
    MessageBox(NULL, TEXT("Hello, Windows 98!"), TEXT("HelloMsg"), 0);
    return 0;
}

WinMain関数の戻り値はintとして定義される.WINDEF.Hの次の文は、WINAPI識別子を定義する.
#define WINAPI _stdcall

この文は、スタックに関数呼び出しパラメータを配置するマシンコードを生成する方法を示す関数呼び出し規則を規定しています.ほとんどのwindows関数呼び出しはWINAPIとして定義されています.
WinMainの最初のパラメータはインスタンスハンドルと呼ばれます.Windowsプログラムでは、ハンドルは数値にほかならず、プログラムで何かを識別します.
以前のwindowsバージョンでは、同じプログラムを多重で同時に実行する場合、このプログラムに複数のインスタンスを作成する必要がありました.同じプログラムのすべてのインスタンスは、コードと読み取り専用ストレージを共有します.1つのプログラムは、hPrevInstanceパラメータを表示することで、他のインスタンスが実行されているかどうかを知ることができます.しかし32ビットのwindowsシステムでは、この概念はもう採用されていない.そのため、
WinMainの2番目のパラメータは通常NULLとして定義される.
WinMainの3番目のパラメータプログラムを実行するためのコマンドライン
WinMainの4番目のパラメータは、プログラムが最初にどのように表示されるかを示すために使用されます:または正常に表示されるか、または全画面に最大化されます.
MessageBox関数MessageBox関数は、短い情報を表示するために使用されます.形式は単一ですが、MessageBoxに表示される小さなウィンドウも実際にはダイアログボックスです.
MessageBoxの最初のパラメータは、通常、ウィンドウハンドルです.MessageBoxの2番目のパラメータは、情報ボックスに表示されるテキスト文字列です.MessageBoxの3番目のパラメータは、タイトルバーに表示されるテキスト文字列です.MessageBoxの4番目のパラメータはMB_ですヘッドのいくつかの定量的な組み合わせ.