WinMain(...)

Zurück Zum Inhaltsverzeichnis Weiter

Beginnen wir den Einstieg in WINDOWS Programmierung. Im Gegensatz zu vielen anderen Visual C++ Kursen werden wir nicht gleich mit Hilfe der Assistenten (Wizards) MFC-Anwendungen erstellen, das kommt erst im nächsten Kapitel. Vielmehr werden wir in diesem Kapitel 'ganz normale' WINDOWS Programme in C erstellen. Sinn und Zweck dieses Vorgehens ist es, Ihnen den generellen Aufbau und Ablauf eines WINDOWS Programms zunächst näher zu bringen. Früher oder später werden Sie mit Sicherheit einmal die Situation geraten, dass sich Ihre MFC-Anwendung  nicht so verhält wie Sie es erwarten. Dann sollten Sie auch in der Lage sein mit dem Debugger durch den Code der MFC zu gehen und den Code auch zu verstehen. Denn auch die MFC baut letztendlich nur auf den Standard WINDOWS Funktionen auf.

Anfangen werden wir gleich mit der wichtigsten Frage wenn es um die Programmierung geht, nämlich: welches ist die erste ausführbare Anweisung eines WINDOWS-Programms? Wie Ihnen sicher bekannt ist, beginnt jedes C/C++ Programm mit einer Funktion namens main(...). Dies trifft auch auf WINDOWS Programme zu, nur ist dies nicht die erste Anweisung in Ihrer Anwendung. Die Funktion main(...) ist in einem WINDOWS Programm eine Standard-Funktion die vom Linker zur Anwendung dazugebunden wird. Sie führt die Grundinitialisierung eines WINDOWS Programms durch und ruft dann irgendwann einmal die Funktion WinMain(...) auf. Und WinMain(...) ist die Einsprungsfunktion in Ihre Anwendung.

Sehen wir uns jetzt einmal ein typisches Rahmenprogramm an, so wie wir es nachher erstellen werden bzw. uns erstellen lassen:

// MessageBox.cpp : Definiert den Einsprungpunkt für die Anwendung.
//

#include "stdafx.h"

int WINAPI WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR lpCmdLine,
                     int nCmdShow )
{
    // ZU ERLEDIGEN: Fügen Sie hier den Code ein.

    return 0;
}

Die erste Anweisung #include "stdafx.h" bindet die wichtigste Header-Datei ein. Diese Header-Datei definiert in Abhängigkeit von den gesetzten Compiler-Optionen eine Reihe von Symbolen. Außerdem werden über diese eine Header-Datei alle weiteren Header-Dateien eingebunden die für die Übersetzung eines WINDOWS Programms notwendig sind.

Nach der include-Anweisung folgt die Einsprungsfunktion WinMain(...). Was es mit den Parametern der Funktion auf sich hat erfahren Sie, wenn Sie oben im Text die unterstrichene, kursiv dargestellte, Funktion einmal anklicken. Innerhalb von WinMain(...) wird nachher zunächst die Anwendung initialisiert und dann in der Regel das Hauptfenster der Anwendung erstellt. Der Returnwert der Funktion WinMain(...) ist sozusagen Just For Fun, d.h. er wird von WINDOWS selbst (noch?) nicht ausgewertet.

So, genug der Vorworte! In der nächsten Lektion erstellen wir jetzt endlich unser erstes lauffähiges WINDOWS Programm.

Zurück Zum Inhaltsverzeichnis Weiter


Copyright © 2004

Senden Sie Emails mit Fragen oder Kommentaren zu dieser Website an: mailto:info@cpp-tutor.de
 Wolfgang Schröder, Lerchenweg 23, D-72805 Lichtenstein. Tel: +49 7129 6470