Win32-Programmierung mit VC++ und der Win-Api

Vorwort, wichtiges und rechtliches

Alle auf folgenden Seiten zu findenden Programme sind Beispiele zur Veranschaulichung der Windowsprogrammierung unter Zuhilfenahme der Windows-Api - nicht der MFC (Microsoft Foundation Class).

Für alle Programme wird der VC++ Compiler von MS verwendet.

Einleitung

Angefangen habe ich mit der Windowsprogrammierung Mitte 2002. In meinem Informatikstudium bekam ich die Aufgabe ein Programm zu entwerfen/programmieren was einen Round-Robin-Scheduler darstellt. Programmiererfahrung hatte ich bis dato nur mit in der Schule beigebrachten Turbo-Pascal, MS’s QBasic und mit im Studium beigebrachten C / C++. Nun sollte ich halt ein Windowsprogramm schreiben.

Nun suchte ich also nach Seiten im Netz, welche mir das Programmieren von Windowsprogrammen einfach an kleinen Beispielen erklären. Ich habe zwar viele Seiten gefunden, diese eigneten sich aber nur für Programmiercracks, die sich schon auskannten. Also blieb mir nichts anderes übrig, mich mit schon fertigen Programmen auseinanderzusetzen. Flux hab’ ich mir knapp 50MB an Beispielprogrammen heruntergeladen. Nach ca. 2 Wochen intensiven herumprobieren gab’ ich auf. Nach erneutem suchen fand ich diese Seite. Hier wurde von Grund auf erklärt wie ein Programm erstellt wird. In diesem Stil zieh’ ich das Erste Kapitel auch durch: Schritt für Schritt ein Programm erstellen. Teilweise auch mit Screenshots…

Links

Hier nur einige, mir bekannte Links zur Win32-Programmierung.

Hier gibts die komplette Win32-Api-Reference:

  • e234-v1.pdf - Volume 1 - General, Windows Subsystem, Graphics Subsystem (594KB)
  • e234-v2.pdf - Volume 2 - System Services, Application Support Functions (311KB)
  • e234-v3.pdf - Volume 3 - Annexes (490KB)

Anderes Wissenswertes

Um mit der Windows-Anwendungsentwicklung etwas anfangen zu können, sind grundlegende Kenntnisse im Umgang mit einem Compiler und natürlich mit der Programmiersprache C/C++ von Nöten. Ebenso ist in diesem Tutorial der Visual C++ Kompiler oder ein ähnlicher zu benutzen.

Begriffserklärung der Windows-Api: Es gibt einen ganzen Packen von Funktionen für die Windowsprogrammierung. Ähnlich wie mit reinem C unter Dos oder auf Kommandozeile! Entweder man benutzt definierte Funktionen wie Printf und übergibt ihr ein Paar Parameter, oder man versucht in den Puffer ein paar Bytes reinzupacken und den Kram dann an die Konsole zu schicken. Ähnlich ist es mit der Api. Die Windows-Api (Application Programmers Interface glaub’ ich) gibt einige grundlegende Befehle mit auf dem Weg. Mit diesen Befehlen kann man schon eine Menge machen. Aber für eine Profianwendung wie Excel oder so was reichts dann doch nicht! Eine Darstellung eines Grids (Tabellen-Sheet) ist nur mit weiterführenden und komplexeren (Hardcore C++) Befehlen zu erreichen. Diese Befehle oder die Art des programmierens wird dann MFC (Microsoft Foundation Class) genannt. Um Windows-Programme zu erstellen sollte man aber klein anfangen. Deshalb gibts hier erst mal die API. PS: Es ist auch mit der Win-Api möglich ein Grid zu erstellen. Das aber nur mit Abstrichen in der Benutzerfreundlichkeit und des Programmieraufwandes (Codereinheit).

Danksagungen

Hier sind einige Namen verewigt. Warum? Weil diese Besucher sich die Mühe gemacht haben, meinen Mist, den ich hier verzapft habe, durchzulesen und mich auf Fehler und/oder Ungereimtheiten aufmerksam machten…

  • Daniel - 16+17.12.2004 - Ein kleiner Bug im “trayicon” tutorial. - behoben und gebugfixed, neue zip reingestellt… danke.
  • Tino Blochmann - 1.12.2003 - Einige Fehler im ersten Kapitel - Danke Tino und viel Spaß noch in Gandia/España! ;-)
  • Maik Martin - 2.12.2003 - Wieder Fehler im ersten Kapitel + Rechtschreibfehler ;-/ - THX!