Neuerungen in der Windows-Programmierung seit Windows NT
-
double-b schrieb:
Danke, aber was hat sich zwischen NT und XP geändert?
Dafür musst du die Listen für die Neuerungen von NT 4.0 zu 2000 Pro und von 2000 Pro zu XP raus suchen.
Neuerungen von 2000 Pro zu XP:
http://msdn.microsoft.com/en-us/library/ms997638
http://msdn.microsoft.com/en-us/library/bb457059.aspxÜbrigens war XP gar kein so großes Release. Denn es ist ja sehr kurz nach 2000 Pro raus gekommen. Und 2000 Pro ist viel interessanter, weil es wirklich sehr viele Änderungen mitbrachte. Das sieht man auch an den Versionsnummern:
`Windows NT 4______ NT 4.0
Windows 2000 Pro__ NT 5.0
Windows XP________ NT 5.1`
XP ist einfach nur ein Consumer-taugliches 2000 Pro.
Folgendes fällt mir spontan ein, was bei XP neu ist:
1. Notebook-tauglich, weil CPU-Speedstepping Support
2. Multi-User Sessions
3. GDI+Keine vollständige Liste, aber grob war es das denke ich. Besonders der erste Punkt war für eine Kumpel von mir damals der einzige Grund von 2000 Pro auf XP umzusteigen, da er sonst (wie ich auch) mit 2000 Pro sehr zufrieden war.
-
Dieses Buch habe ich auch, ich habe auch mal ne Zeit lang damit gearbeitet, allerdings wurde es mir auf Dauer mit der Win-API doch zu umständlich bei größeren Sachen. Das Buch ist allerdings echt sehr gut=)
Zu den Änderungen: Zum einen gibt es wie schon gesagt wurde die GDI+, welche in dem Buch nicht genutzt wird( da es sie noch nicht gab ), ansonsten sind mir nur ein paar Kleinigkeiten aufgefallen, wo ich ein bisschen was am Code ändern musste, damit es läuft. Aber nix großes. Dass mit der GDI+ ist ja eigentlich kein Problem, würd mir an deiner Stelle erst mal das Buch so durchlesen. Danach kannste dir ja ein Tutorial zur GDI+( gibt auch hier im Forum eins ) durchlesen und wenn du was mit der Win-API machst, kannste ja anstatt der GDI dann die GDI+ nutzen.
Lg freeG
-
While(true){} schrieb:
Die Neuerungen in der WinApi für Vista und 7 kannst du hier finden.
http://msdn.microsoft.com/en-us/library/ee461764%28v=VS.85%29.aspxDanke, nach so einer Seite hab ich schon lange gesucht
-
So wie es aussieht hat es über die Jahre keine gravierenden Änderungen
an Windows gegeben. GDI+ ist ja soweit ich das erfasst habe, eine Library
die sich von der normalen GDI nur durch die Objektorientierung unterscheidet
( also C++ kompatibel ist ). Welchen Compiler nutzt ihr eigentlich bei der
Windows Programmierung? Bisher habe ich MinGW verwendet, doch jetzt habe ich
gehört, dass dieser nicht mehr aktuell bzw. veraltet sein soll.
-
Was und warum sollte es denn aus Entwickler-Sicht gravierende Änderungen geben? Die darf es nicht geben! Würde es die geben, wäre Windows nicht abwärtskompatibel. Das würde Windows das Genick brechen!
Es gibt nur Erweiterungen (zusätzliche APIs, wie GDI+) oder es wird nur intern was geändert, was aber einem Entwickler/Programm im Verhalten nicht auffallen darf.
Die GDI+ ist übrigens mit Windows 7 schon wieder überholt (genauso wie GDI).
Wer also wirklich Windows 7 ausnutzen will, sollte Direct2D und DirectWrite nutzen.
Wenn man immer auf dem Laufenden sein will, muß man sich die MSDN lesen, und nicht alte Schinken wie den Petzolt.
-
double-b schrieb:
Welchen Compiler nutzt ihr eigentlich bei der
Windows Programmierung? Bisher habe ich MinGW verwendet, doch jetzt habe ich
gehört, dass dieser nicht mehr aktuell bzw. veraltet sein soll.Man sollte immer das MS Windows SDK nutzen. Da ist die gesamte Windows API für jeden Programmierer kostenlos verfügbar. Und es ist auch ein sehr guter Compiler von MS dabei, der wohl die Ansprüche der meisten Entwickler sehr gut erfüllt.
Alternativ kann man noch einen Compiler kaufen, z.B. den ICC (Intel C++ Compiler). Es gibt aber auch noch andere Kauf-Compiler, die nochmal spezielle Bedürfnisse erfüllen.
Zum MinGW: es gibt unter Windows keinen Grund diesen zu benutzen! Der ist hoffnungslos veraltet. Bezogen auf Windows API ist sein SDK irgendwo bei Windows NT 4.0 oder 5.0 stehen geblieben.
Was C++ angeht, sieht das offizielle MinGW Release auch nicht besser aus (ihm fehlen sogar die Wide Streams aus C++1998!).
Wer auf POSIX oder X11 zugreifen muß, sollte eher auf Cygwin zugreifen. Der hat auch angeblich bessere Windows API Unterstützung.
Ansonst kann man sagen: das kostenlose Windows SDK bzw. wenn es auch eine IDE sein soll, Visual C++ Express Edition (da ist das WIndows SDK auch mit bei).
-
Wenn schon MinGW dann MinGW-w64. Unterschiede zum bekannten MinGW sind hier aufgelistet, u.a. auch bessere Header.
Ansonsten kann ich mich Artchi nur anschliessen. Für Projekte, die nur auf Windows laufen sollen, das Windows SDK bzw. Visual Studio verwenden.
-
@Artchi
Sollte ich also eher die MSDN zum Lernen nutzen?
-
double-b schrieb:
Seit ich vor einigen Wochen einen Thread zu der Frage, was
ich nach den C++ Grundlagen lernen sollte, eröffnet hatte,
habe ich mir jetzt den Klassiker unter den Windows-Programmierbüchern
gekauft:"Windows-Programmierung von Charles Petzold".Alle Beispiele in diesem Buch sind in C geschrieben und es werden davon gute Kenntnisse vorausgesetzt...
-
double-b schrieb:
@Artchi
Sollte ich also eher die MSDN zum Lernen nutzen?Du willst C++ programmieren? Und dann willst du Windows-Programme in C++ programmieren?
Die MSDN ist am Anfang undurchsichtig und man verliert sich schnell. Stimmt. Aber im Prinzip ist es eine Goldgrube an Informationen zur Windows Programmierung. Ist auch ganz logisch: wer außer MS selber sollte diese Informationen besser bereit stellen können?
Wenn du Windows 7 hast, wird auch in Tutorials gezeigt, wie man die ganzen tollen Windows 7 GUI Features (Animationen usw.) nutzen kann.
Auf der Windows SDK Seite sind unter (3) Develop Windows Applications die wichtigsten Einstiegspunkte zu finden. Auch einen speziell für Learn to Program for Windows in C++.
Ich finde das alles recht gut und ausführlich erklärt!
-
Ist der Petzold jetzt deiner Meinung nach ungeeignet um in die Windows
Programmierung einzusteigen? Mir geht es darum, dass der Petzold doch recht
reich an Informationen ist und ich nicht am Ende einige Kapitel unsinnig
gelesen habe, da bereits modernere und bessere Wege zur Verfügung stehen
( Direct2D ist ja nur für Windows 7 verfügbar und damit im ersten Moment
nicht relevant, da ich unter Windows XP programmmiere ).
-
Für die Windows-Grundlagen kannst du den Petzold benutzen. Wenn du das Buch schon gekauft hast. Aber ich kann mir vorstellen, das irgendwann Dinge drin stehen, die man vielleicht sinnlos lernt, weil es dafür Alternativen gibt. Aber die Grundlagen sind natürlich nie veraltet.
-
Ich habe das Buch sehr billig erstanden, im Zweifelsfall kann ich mir auch
ein anderes Buch kaufen, doch welches? Gibt es ein anderes Buch das soviel
Informationen enthält( 1349 Seiten sind ziemlich viel ) ? Könntest
du ein gutes Buch zur Windows Programmierung empfehlen?
-
Für einige Bereiche der Windows-Programmierung gibt es schon noch aktuelle Bücher (in Englisch):
Jeffrey Richters "Windows via C/C++" behandelt elementare Dinge wie Prozesse, Threads und DLLs, halt die nicht GUI bezogenen Teile.
Die aktuelle 5. Auflage des Buches ist auf dem Stand von Vista, die 4. auf dem von Windows 2000, die dritte auf dem von NT. Wenn man die mal querliest, sieht man, wie viel sich geändert hat.Eine Ergänzung des Petzolds in Richtung Windows 7 ist Microsofts "Introducing Windows 7 for Developers". Das Buch spannt einen Bogen von der WinAPI über C# bis zu Silverlight. Ist vielleicht ganz interessant, damit man mal sieht, was es alles so gibt.
Auf im MSDN gibt es ganze Artikelserien zur Windows Programmierung in C++, im Stil etas moderner als der Petzold:
http://msdn.microsoft.com/en-us/library/ff381399.aspx
http://msdn.microsoft.com/en-us/library/ff708696.aspx
http://msdn.microsoft.com/en-us/library/gg675934.aspx
-
double-b schrieb:
Ist der Petzold jetzt deiner Meinung nach ungeeignet um in die Windows
Programmierung einzusteigen?Wenn es Dir um die Windows Programmierung an sich geht, dann ist Windows API und C++ einfach der falsche Ansatz. Die gravierenste Neuerung seit NT/98 ist nunmal das .NET Framework und das läßt sich (subjektiv, jaja) ín C# viel besser und leichter programmieren als in C++. .NEt und C# ist imho die erste Wahl wenns darum geht Windows-Programme zu schreiben. WindowsAPI und C++ sind nur für Bereiche spannend die im Framework fehlen.
-
loks schrieb:
Die gravierenste Neuerung seit NT/98 ist nunmal das .NET Framework und das läßt sich (subjektiv, jaja) ín C# viel besser und leichter programmieren als in C++.
Das kann man auch objektiv mit ruhigem Gewissen sagen
-
loks schrieb:
Windows Programmierung an sich
Kommt drauf an, was man darunter versteht.
Wenn man erstmal die Grundlagen verstehen will, ist ein Anfang mit dem Petzold vielleicht gar nicht so schlecht. Wenn man mit C# anfängt und dann in den Petzold schaut, wirft man ihn wahrscheinlich gleich wieder weg.
loks schrieb:
Die gravierenste Neuerung seit NT/98 ist nunmal das .NET Framework und das läßt sich (subjektiv, jaja) ín C# viel besser und leichter programmieren als in C++.
Da stimme ich zu.
loks schrieb:
.NEt und C# ist imho die erste Wahl wenns darum geht Windows-Programme zu schreiben.
In den allermeisten Fällen ja.
loks schrieb:
WindowsAPI und C++ sind nur für Bereiche spannend die im Framework fehlen.
Das können aber durchaus interessante Dinge sein, wie z.B. hardwarenahe Programmierung und alles was mit 3D zu tun hat (OpenGL, DirectX, ...).
-
double-b schrieb:
Ich habe das Buch sehr billig erstanden, im Zweifelsfall kann ich mir auch
ein anderes Buch kaufen, doch welches? Gibt es ein anderes Buch das soviel
Informationen enthält( 1349 Seiten sind ziemlich viel ) ? Könntest
du ein gutes Buch zur Windows Programmierung empfehlen?Fang einfach mit dem Petzold an. Es ist ja nicht ganz verkehrt.
Ein Buch kann ich dir nicht empfehlen. Weil ich die Erfahrung gemacht habe, das man mit den Tutorials der MSDN (siehe gepostete URLs von nn) und ein paar aus privaten Homepages sehr gut die Win32-API Grundlagen lernen kann, z.B. http://www.win-api.de/tutorials.php. Denn hat man einmal das Konzept verstanden, kann man den Rest in der MSDN recherchieren.
Oder auch auf www.codeproject.com findet man viele Artikel. Z.B. zu den UI-Controls: http://www.codeproject.com/Chapters/1/Desktop-Development.aspx. Da gibt es aber noch mehr Artikel zu allem möglichen Windows-Themen (siehe linke Seitenleiste).
-
Welche Themen sollte ich denn im Petzold überspringen, die heute nicht mehr
aktuell sind?
-
double-b schrieb:
Welche Themen sollte ich denn im Petzold überspringen, die heute nicht mehr
aktuell sind?WinAPI