Nachdem der c++-Standard nun offiziell unter dem Namen c++11 verabschiedet worden ist, stellt sich natürlich die Frage, was wir von diesem Standard schon jetzt verwenden können. Der im Stdcxx Wiki veröffentlichte Artikel C++0xCompilerSupport zeigt, welcher Compiler welche c++11-Feutures bereits unterstützt.

Mit Windows XP führte Microsoft die sogenannte Side-by-Side-Technologie (SxS) ein, durch die es möglich wurde, DLLs in unterschiedlichen Versionen auf einem System zu verwenden. Hierdurch können Konflikte vermieden werden, wenn Anwendungen installiert sind, die unterschiedliche Versionen einer DLL benötigen.
Die entsprechenden DLLs werden im Verzeichnis WinSxS des Windows-Systemordners gespeichert. Um festzustellen, welche Anwendung auf welche Version einer DLL zugreift, kann man das von Microsoft bereitsgestellte Tool sxstrace.exe verwenden. Über die Eingabeaufforderung kann man vor dem Start der Anwendung die Datenaufzeichnung mit
  sxstrace Trace -logfile:test.log
beginnen. Das Tool schreibt alle Daten in die angegebene Logdatei. Nach dem Starten der Anwendung kann man die Aufzeichnung beenden und das Ergebnis über
  sxstrace Parse -logfile:test.log -outfile:test.txt
in eine Textdatei konvertieren.
Führt man diese Anweisung nicht als Administrator aus, dann kann es zu der Fehlermeldung
 sxstrace Trace -logfile:test.log
 StartTrace failed.  Error Message is:
 Unknown error.
kommen. In diesem Fall sollte man die Eingabeaufforderung als Adminstrator öffnen (d.h. mit der rechten Maustaste auf den Befehl “Eingabeaufforderung” klicken, um das Kontextmenü zu öffnen, um dort “Als Administrator ausführen” auswählen zu können):
Eingabeaufforderung als Administrator öffnen

Eingabeaufforderung als Administrator öffnen

Alternativ kann man die Eingabeaufforderung auch über den “Ausführen…”-Dialog öffnen, den man in diesem Fall mit der Tastenkombination [Windows-Taste]+R aufruft. In dem mit “Öffnen” beschrifteten Eingabefeld gibt man dann “cmd” ein und bestätigt diese Eingabe mit OK. Daraufhin sollte sich die Eingabeaufforderung mit Administratorrechten zeigen.
Detailliertere Informationen zu diesem Thema sind in diesem Artikel zu finden.

Die neuen (Fenster-) Klassen der MFC, die zum MFC Feature Pack gehören, bieten von Haus aus die Möglichkeit, die aktuellen Zustände der Fenster einer Anwendung (Größe, Position etc.) nach dem Beenden eines Programms in die Registry zu schreiben. Wird die Anwendung zu einem späteren Zeitpunkt wieder gestartet, dann können die alten Fensterzustände mit diesen Registry-Einträgen wiederhergestellt werden. Was aber tun, wenn die Registry hierfür nicht verwendet werden soll?

In den Methoden

  BOOL LoadState(LPCTSTR lpszProfileName, int nIndex, UINT uiID);
  BOOL SaveState(LPCTSTR lpszProfileName, int nIndex, UINT uiID);

der Klasse CBasePane nimmt die Serialisierung der Zustände ihren Lauf. Dabei ist ein Objekt vom Typ CSettingsStore für das Speichern der Daten (in die Registry) verantwortlich:

  CSettingsStoreSP regSP;
  CSettingsStore& reg = regSP.Create(FALSE, FALSE);

Wie das genau funktioniert, kann man an den (virtuellen) Read- und Write-Methoden der Klasse CSettingsStore (vgl. afxsettingsstore.h) sehen. Das Framework gestattet es aber auch, über ein CRuntimeClass-Objekt eigene CSettingsStore-Objekte zu verwenden. Definiert man sich also eine von CSettingsStore abgeleitete Klasse (z.B. CMySettingsStore), dann kann man die Kontrolle über das Speichern der Daten (z.B. in Dateien) übernehmen, indem man die Read- und Write-Methoden entsprechend überschreibt. Voraussetzung ist, dass die eigene Klasse zuvor noch mit

  CSettingsStoreSP::SetRuntimeClass( RUNTIME_CLASS( CMySettingsSore ) );

angemeldet wird.