Ich habe festgestellt, dass das Programmieren von Windows immer noch nützlich ist. Dank der Betonung der Abwärtskompatibilität durch Microsoft scheinen alle wichtigen Dinge (Fensterhandles, Nachrichten, GDI usw.) immer noch relevant zu sein und werden in Petzold gut behandelt. (Wenn sich etwas zu drastisch ändert, werden zu viele vorhandene Windows-Programme beschädigt, und die große Anzahl vorhandener Windows-Programme ist ein großer Teil des Windows-Vorteils auf dem Markt.)
Es gibt bestimmte neue APIs wie die Setup-API , die Thread-Pool-API und GDI + sowie neue Themen wie das Arbeiten im Kontext der Benutzerkontensteuerung von Vista und 7. Es gibt auch einige einzelne neue Funktionen, die Petzold nicht behandelt, aber es ist einfach genug, bei Bedarf nach neueren Themen in MSDN zu suchen. Programmieren Windows deckt auch nicht COM ab, was ein großer Teil der Windows-Programmierung sein kann.
Beachten Sie, dass die von Petzold abgedeckte API auf niedriger Ebene und C-basiert ist. (Es gibt einige neuere APIs wie GDI + und einige der COM-Funktionen, die objektorientiert sind.) Praktisch jede moderne Entwicklung ist objektorientiert und verwendet häufig ein Framework wie .NET oder Qt oder Delphis VCL Ich werde selten vollständige Anwendungen schreiben, die wie der Beispielcode in Programming Windows aussehen . Es ist jedoch immer noch großartig, um zu erklären, was unter der Haube vor sich geht.
Ich habe mich vor einiger Zeit umgesehen und konnte keine neueren API-Referenzen finden. Ich vermute, dass dies an der Größe der aktuellen Windows-APIs liegt. Das Programmieren von Windows, 5th Edition, ist bereits fast 1500 Seiten lang. Ein Buch, das alles Neue behandelt, wäre zu umfangreich. Ich habe ein paar interessant aussehende Ergänzungen zum Programmieren von Windows gefunden , obwohl ich sie noch nicht gelesen habe:
- Essential COM von Don Box - Einige der neuen APIs von Vista basieren auf COM, und Petzold behandelt COM nicht.
- Windows-Systemprogrammierung von Johnson M. Hart - scheint das von Petzold so gut behandelte GUI- und GDI-Material vollständig zu überspringen, enthält jedoch viel mehr Details zu modernen Ansätzen wie Top-Multithreading, IPC usw.
- Windows Internals von Russonovich, Solomon und Ionescu - weniger über APIs als vielmehr darüber, wie Windows unter der Haube funktioniert. Russonovich weiß möglicherweise mehr darüber als jeder andere innerhalb oder außerhalb von Microsoft.
Der Taskplaner ist ebenfalls neu. Viele neue Objekte und Schnittstellen wurden hinzugefügt. Vor Task Scheduler 2.0 waren ungefähr 5 Objekte an der Planung von Aufgaben beteiligt. In 2.0 (eingeführt, als Vista herauskam) gibt es 20, kein Scherz, 20. Dies ist eines der nicht so großartigen Dinge an der Win32-Programmierung, aber es ist nicht so schlimm.
Ich liebe das Programmieren in Win32. Sie lernen so viel darüber, wie Windows und andere Betriebssysteme auf einer niedrigeren Ebene funktionieren, und es macht Sie zu einem besseren Programmierer, glaube ich. Wenn Sie in Python programmieren, erfahren Sie nicht, wie Verzeichnisse organisiert sind
os.listdir("")
. Verwenden Sie einfach . Wenn Sie jedochFindFirstFile()
&FindNextFile
in win32 verwenden, entdecken Sie, wie Verzeichnisse organisiert sind, und entdecken Sie das versteckte ".." & "." Verzeichnisse und daraus können effizientere Möglichkeiten zum Katalogisieren und Durchsuchen von Verzeichnissen ergeben.Win32-Ressourcen finden Sie unter http://groups.google.com/group/comp.os.ms-windows.programmer.win32/topics
quelle