Wie man den Namen einer RegisterWindowMessage bekommt

Manchmal muss man Software verstehen. D.h. auch andere Software, die man selbst nicht geschrieben hat 😉

In meinem Fall war es hier ein Client, den ich geschrieben habe, der eine andere Software startet. Diese Software verwendete interne Nachrichten zur Kommunikation, die mit RegisterWindowMessage registriert wurden. Ich wollte nun hier einen Eingriff machen, der ein Fehlverhalten unter Windows 7 und Vista vermeiden soll.

Hilfreich wäre für mich nun gewesen an den Namen der registrierten Nachrichten zu kommen. Spy++ kann es auch und der importiert auch keine mystischen Funktionen. Also muss es einfach gehen.

Und ein wenig Recherche und ein Verweis eines Community Eintrags brachte mich auf diesen Thread:
http://groups.google.it/group/microsoft.public.vc.mfc/browse_thread/thread/f83f7c12c80e4ada/460bc4c43a844a37

Siehe da GetClipboardFormatName löst das Problem. Der nachfolgende Code lieferte mir nun im Detail, was das so hin und her läuft und der Name der Nachrichten war zum Glück sprechend. Ich konnte das Problem lösen.

if (uiMsg>=0xC000)
{
  TCHAR szName[MAX_PATH];
  ::GetClipboardFormatName(uiMsg,szName,MfxCountOf(szName));
  TCHAR szOut[MAX_PATH*2];
  _stprintf(szOut,_T(__FUNCTION__) _T(" %s, wp=0x%08x, lp=0x%08x\n"),
            szName, wParam, lParam);
  OutputDebugString(szOut);
}

ExitInstance gibt für dialogbasierende MFC Anwendungen Unfug zurück

Wer eine dialogbasierende Anwendung mal mit etwas mehr Aufmerksamkeit debuggt oder analysiert wird feststellen, dass der Returncode der Anwendung irgendwie ziemlich zufällig ist. Beobachtet man dies genauer dann stellt man folgendes fest:

  • Beendet man die Anwendung mit der Maus (Klick auf X) oder OK/Cancel so ist der Returncode 0
  • Hält man die Strg-Taste beim Klick fest ist der Returncode 8
  • Beendet man die Anwendung mit Alt+F4 bekommen wir 2.
  • Und jedermann kann jetzt schon mal raten was passiert, wenn wir die Umschalttaste festhalten. Genau dann bekommen wir 4 als Returncode.

Die Mystik hinter dem Ganzen ist die Behandlung von (Afx)PostQuitMessage. Eigentlich sollte mit dieser Nachricht auch der Exitcode gesetzt werden, der mit WM_QUIT versendet wird. Und wenn eben bei einer MDI/SDI Anwendung alles normal läuft, dann ist diese Nachricht die letzte, die aus der Messsagequeue gezogen wird. Und was passiert in CWinApp::ExitInstance? Genau… aus dem statischen Thread Puffer für die Windowsnachrichten wird mit  AfxGetCurrentMessage die letzte Windowsnachricht (normalerweise WM_QUIT) geholt und der wParam Wert bestimmt. Dieser wird dann zurückgegeben.

Leider ist aber WM_QUIT in manchen Fällen aber nicht die letzte Nachricht, die zum Beenden eines Programms führt. Ganz besonders eben nicht bei einer dialogbasierenden MFC-Anwendung. Da ist die letzte Nachricht ist dann eben ein WM_COMMAND oder ein WM_LBUTTONUP der das Schließen der Anwendung auslöst ❗ Und der wParam Wert ist eben entsprechend dieser Nachricht belegt!

Gleiches passiert natürlich, wenn man nach dem Beenden der Messageloop noch andere interne Fenster zerstört. Auch in diesem Fall kann noch mal die interne AfxWndProc durchlaufen werden und dann wird der Returncode auch wieder verändert.

Wer also wirklich Wert auf den Returncode legt (im wahrsten Sinne des Wortes), der sollte sich nie auf den Wert verlassen, der durch CWinApp::ExitInstance zurückgegeben wird oder den Wert, den man selbst mit AfxPostQuitMessage evtl. versucht zu setzen. Eine Variable in CWinApp tut hier einen besseren Dienst. Ebenfalls sollte man ExitInstance überschreiben und immer 0 zurückgeben, wenn man sowieso keine Verwendung für den Returncode des Prozesses hat oder haben möchte.

BTW:
Die Geschichte, wie ich darauf gekommen bin ist schon eigentümlich genug.
Ich habe komplexere Batch-Dateien, die die gesamte Erstellung einer produktiv-Version regelt. Darin kommen im Problemfall auch ein paar Userinteraktionen vor. Diese werden durch Windows Anwendungen ausgelöst, die evtl. einen Dialog anzeigen. Jedem ist klar, dass ohne Dialog und ohne Fenster keine Nachricht abgearbeitet wird. Der Returncode ist also 0! Der Batch verwendet 4NT Syntax und dort kann man ON ERROR definieren und somit sofort eine Fehlerbehandlung auslösen, wenn der Returncode eines Programms nicht 0 ist.
Nun kann sich jeder schon denken was passiert ist. Die Userinteraktion wurde ausgelöst. Der Benutzer machte eine Angabe und… der Batch terminierte erstaunlicherweise mit einem Fehler… (s.o.)

Tipp: Hörbuch Mutige Menschen (von Christian Nürnberger)

Für längere Autofahrten haben meine Frau und ich es uns angewöhnt Hörbücher aus der Bücherei auszuleihen.
In den meisten Fällen sind es Kabarett, kurze humorvolle Geschichten, christliches, politisches oder gesellschaftskritisches.

Diesmal hat meine Frau ein wirklich besonderes Hörbuch ausgesucht Mutige Menschen von Christian Nürnberger. Die Texte werden von den Söhnen Mannheims gesprochen, wobei dies hier nicht unbedingt für Qualität bürgt 😉

Der Inhalt ist aber echt stark und wirklich hörenswert! Die Personen (Ayaan Hirsi Ali, Peter Benenson, Mahatma Gandhi, Martin Luther, Nelson Mandela, Rosa Parks und Anna Politkowskaja), die ausgewählt wurden für dieses Hörbuch, sind besonders.
Besonders beeindruckt hat mich die Geschichte von Ayaan Hirsi Ali und Rosa Parks. Man muss es sich selbst anhören.
Die Gedanken, die von Ayaan Hirsi Ali über den Islam geäußert werden, sind wirklich nachdenkenswert.

Mich hat vor allem begeistert, dass Christian Nürnberger in die Lebensgeschichten dieser Menschen geschaut hat. Die Texte sind intelligent gesetzt und ansprechend und vor allem eine Aufforderung selbst Mut und Zivilcourage zu haben in dieser Welt etwas zu verändern.

Ein Hörbuch mit Klasse, dass auch animiert sich das gleichnamige Buch mal anzuschauen, zumindest auf meiner Wunschliste steht es schon ❗

Tipps & Tricks: Mal ganz schnell das MS-SQL Server 2008 Managment Studio Express nachinstallieren

Bei dem Management Studio für die 2005 EE war noch alles ganz einfach. Man schmeißt einfach den Installer an. Man klickt ein paar mal weiter und das war es auch schon. Nachdem ich VS-2010 installiert hatte wollte ich nun auch das passende Management Studio für die 2008 EE installieren. Also:

  • Download gemacht 
  • Setup gestartet
  • und 😕 was nun?

Das Setup und das was ich hier alles einstellen kann ist alles andere als intuitiv.

Ich mache es kurz. Man kann sich das ganze durch-die-Dialoge-hangeln sparen.
Man startet einfach die Installation mit dem folgenden Befehl von einer Befehlszeile:

SQLManagementStudio_x86_xxx.exe /q /FEATURES= SSMS /ACTION=Install

Statt xxx gebe man bitte einfach in DEU oder ENU an, je nachdem was man für eine Sprache hat.

Gefunden habe ich das hier auf diesem Link, hier finden sich auch weitere Anweisungen wie man sich durch die Dialoge quälen muss:
http://blogs.msdn.com/billramo/archive/2009/02/20/sql-server-2008-management-studio-express-released-to-the-web.aspx

Das Management Studio Express findet sich hier zum Download:
http://www.microsoft.com/downloads/details.aspx?familyid=08E52AC2-1D62-45F6-9A4A-4B76A8564A2B&displaylang=de

Tool: Screen-OCR Version 2.0, einfach mal Texte vom Monitor aus Bildschirmausschnitten und Grafiken in die Zwischenablage kopieren

Am 15. Mai hatte ich eine erste Version meines Freeware Screen-OCR Programmes veröffentlicht. Siehe Tool: Screen-OCR, einfach mal Texte vom Monitor aus Bildschirmausschnitten und Grafiken in die Zwischenablage kopieren

Nun habe ich etwas Zeit für Version 2.0 gefunden ❗
Folgende Verbesserungen wurden eingebaut:

  • Etwas schönere UI für das Auschneiden aus dem aktuellen Desktop.
  • Deutsches und englisches Benutzerinterface.
  • Das Programm kann nur noch einmal gestartet werden. Mehrfaches Starten macht hier keinen Sinn.
  • Das Tool kann nun auch das letzte aktive Fenster per OCR erfassen, oder auch eine Bitmap in der Zwischenablage. Es wurde ein entsprechendes Drop-Down Menü eingebaut.
  • Es gab bei mehrfachen Aufrufen ab und zu Crashs, was offensichtlich daran liegt, dass die MODI-DLLs es nicht mögen geladen, entladen und wieder geladen zu werden.

Download hier  MRi-Screen-OCR Version 2.0

Falls man MODI nicht hat, hier kann man es kostenlos bekommen:
http://support.microsoft.com/kb/982760

Achtung: Alle Visual Studio 2010 Express Editionen müssen registriert werden

In den Express Editionen für Visual Studio 2005 und 2008 war es nur nötig die Versionen zu registrieren, die mit dem Online Installer installiert wurden. Die Installationen die mit dem ISO-Image durchgeführt wurden dies nicht nötig.

Das hat sich mit den VS-2010 Express Editions (VS-EE) geändert. Es spielt keine Rolle ob es sich hier um die EE von C#, C++, VB oder eine der anderen verfügbaren Versionen handelt.
Alle diese Versionen müssen registriert werden. Die Laufzeit ohne Registrierung beträgt 30 Tage.

Ich rate dringend dazu, sofort nach der Installation auch die Registrierung durchzuführen. Und wenn es nicht klappt am nächsten Tag gleich wieder zu versuchen. Die Seite funktioniert leider oft genug nicht. So klagen zumindest nicht wenige Benutzer in den Foren.

Infos zur Registrierung hier:
http://www.microsoft.com/germany/express/registration/default.aspx

Download Link für alle Express Editionen (inkl. ISO-Image) hier:
http://www.microsoft.com/germany/express/download/default.aspx

Nachtrag:
Die FAQ ist ziemlich ungenau. Das jedes Produkt einen eigenen Schlüssel braucht habe ich ausprobiert. Aber man benötigt nur einmal eine Nummer für die Registrierung von VC#-2010 EE oder VC++-2010 EE ❗
Man kann ohne weiteres diese Registrierungsnummer auf mehreren Rechnern für mehrere Installationen benutzen (probiert auf Windows XP und Windows 7 Starter). Zumindest bei mir hat das geklappt. Es ist scheint nicht notwendig zu sein jede Version separat auf jedem neuen Rechner wieder zu registrieren ❗

VS-Tipps & Tricks: Kommentare intelligent und einfach umbrechen

 Wer programmiert, der dokumentiert auch. Denke ich zumindest 😀

Ich zumindest habe teilweise Kommentare, die sich über 10 bis zu 100 Zeilen erstrecken. Die sind nah am Code und erklären, oft was die Hintergründe für das gewählte Design und Vorgehen sind.

Leider ist aber der Editor vom Visual Studio kein Word. D.h. absatzweisen Umbruch kennt das Ding nicht und manuell solche Texte inkl. Einrückungen und Listen mit Bindestrichen oder 1., 2., 3. zu formatieren ist etwas was gar keinen Spaß macht. Zudem sind die Kommentar Zeichen // oder * eher lästig als hilfreich beim schreiben.
Und auch VAX muss hier mal passen. Aber! Netterweise gibt e auch andere Addins.

Ich habe vor langer Zeit schon den Comment Reflower  entdeckt. Mit dem ist das Ganze ein Klacks.
Aus dem nachfolgenden Text:

// Dies ist ein Kommentar, den man nicht wirklich hier schreiben
// müsste und der
// eigentlich nichts bedeutet außer
// die Funktionen von einem netten Addin zu zeigen.
// Das
//  1. wirklich Arbeit erspart
//  2. total simpel zu bedienen ist
//  3. für alle VS-Versionen von 2005 über 2008 bis 2010 verfügbar ist.
// Was bei der Formatierung heraus kommt lässt sich sehen.

Wird in Null-Komma-Nichts der folgende Text:

// Dies ist ein Kommentar, den man nicht wirklich hier
// schreiben müsste und der eigentlich nichts bedeutet
// außer die Funktionen von einem netten Addin zu
// zeigen. Das
//  1. wirklich Arbeit erspart
//  2. total simpel zu bedienen ist
//  3. für alle VS-Versionen von 2005 über 2008 bis
//     2010 verfügbar ist.
// Was bei der Formatierung heraus kommt lässt sich
// sehen.

Wer noch mehr Beispiele sehen will, was das Tool leistet findet hier auf der Sourceforge Seite ein Vorher Nacher Pärchen.

Das Addin existiert für alles Visual Studio Versionen ab 2005.
Es kann hier heruntergeladen werden:

PS: Es empfiehlt sich ein Blick auf die Blockdefnition in den Einstellungen. Dort ist oft ein Leerzeichen hinter dem * bzw. // eingetragen. Leider lässt sich in meiner Version hier RegEx nicht einschalten. Wer also ein <tab>-Zeichen hinter dem * oder // hat wird sich wundern wenn das Addin keinen Kommentar findet. Ich habe das Leerzeichen einfach entfernt…

PPS: Für alle nicht C++ Entwickler. Das Tool funktioniert auch für VB und C# ❗

Tool: Screen-OCR, einfach mal Texte vom Monitor aus Bildschirmausschnitten und Grafiken in die Zwischenablage kopieren

Im Second-Level Support habe ich es oft mit Fehlermeldungen zu tun, die mir von Kunden als Screenshots gesendet werden. Um das ganze in unserem Support-System zu dokumentieren, müssen die oft genug abgeschrieben werden. Oder ich möchte diese Texte haben um sie einfach in Google suchen zu können. Viele Leute wissen nicht, dass man ganz einfach Texte aus Messageboxen in die Zwischenablage kopieren kann. Also bekommt man Megabyte große Screenshots.
Lästig…

Es gibt einige kleine Tools  für Geld (z.B. von Abbyy) und auch einige kostenlose habe ich mal ausprobiert, mit denen man solch einen Screen-OCR durchführen kann. Aber die waren alle nicht das wahre oder unverschämt groß.

Da ich wusste, dass es

  1. im MODI (Microsoft Office Document Imaging) ein einfaches COM Interface gibt,
  2. ein Screenshot einfach zu machen ist und
  3. man mit GDI+ alle möglichen Grafikumwandlungen machen kann benötigt man
  4. nur etwas C++ als Kleber um alles zusammen zu bringen.

Herausgekommen ist Version 1.0 von MRiScreenOCR.exe. Eine simple Freeware EXE, mit der man einen beliebigen Bildschirmausschnitt per OCR in Text umwandeln kann und wahlweise in einem Dialog anzeigen kann oder direkt in die Zwischenablage kopieren kann.
Optional kann man das ganze über ein paar Optionen im Systemmenü steuern.
Eigentlich komplett selbsterklärend.
Wer weiß, vielleicht mache ich mich noch an Version 2.0 und ergänze noch eine Trayicon-Funktion optional.

❗ Einzige Voraussetzung MODI (Microsoft Office Document Imaging) muss installiert sein, damit das kleine Tool arbeiten kann (siehe auch Anmerkung unten). Sonst benötigt man nichts. Die EXE funktioniert stand alone mit XCOPY Installation. Das Tool wurde mit VC-2010 erzeugt, man benötigt also mindestens Windows XP SP2.

Hier kann man MRiScreenOCR.exe kostenlos herunter laden und es steht jedem als Freeware zur freien Nutzung.

PS:
MODI ist übrigens teil von Microsoft Office 2003 und Office 2007. Leider ist es im Office 2010 nicht mehr enthalten. Schade, denn es war für mich das primäre Programm Dokumente zu scannen zu archivieren und auch zu indizieren.

Nachtrag 18.05.2010:
Es ist ohne weiteres möglich nur MODI aus Office 2007 alleine ohne weitere Komponenten zu installieren. Das funktioniert sowohl auf 32bit Systemen wie auch auf 64bit Systemen.

Nachtrag 01.06.2010:
Die Version 2.0 von MRiScreenOCR.exe ist nun verfügbar.

Nachtrag 03.10.2011:
Ich zitiere den Kommentar von Robin hier:

falls man MODI nicht hat, hier kann man es kostenlos bekommen:
http://support.microsoft.com/kb/982760

Eventlog Einträge mit der Ereigniskennung 675 im Sicherheit Ereignisprotokoll

Auf meinem Windows Server 2003 R2 haben sich in der letzten Zeit Fehlereinträge im Eventlog für die Sicherheit angehäuft. Und das bis zu 200 Einträge und mehr täglich.

Bei der Analyse stieß ich hauptsächlich auf die Ereigniskennung 675 mit dem Fehlercode 0x19. Meistens traten diese Eventlog Einträge im Viererpack auf, immer wenn ein Benutzer sich mit seinem PC im Netz angemeldet hat. Jeweils erschienen dann Einträge für den PC und den Benutzer, wie die nachfolgenden Beispiele beiden Beispiele aus dem Ereignisprotokoll meines Servers zeigen:

Ereignistyp: Fehlerüberw.
Ereignisquelle: Security
Ereigniskategorie: Kontoanmeldung
Ereigniskennung: 675
Datum: 21.04.2010
Zeit: 10:48:33
Benutzer: NT-AUTORITÄT\SYSTEM
Computer: SERVER
Beschreibung:
Fehlgeschlagene Vorbestätigung:
  Benutzername: COMPUTER$
  Benutzerkennung: DOMAIN\COMPUTER$
  Dienstname: krbtgt/domain.loc
  Vorauthentifizierungstyp: 0x0
  Fehlercode: 0x19
  Clientadresse: 192.168.16.150

sowie:

Ereignistyp: Fehlerüberw.
Ereignisquelle: Security
Ereigniskategorie: Kontoanmeldung
Ereigniskennung: 675
Datum: 21.04.2010
Zeit: 10:48:52
Benutzer: NT-AUTORITÄT\SYSTEM
Computer: SERVER
Beschreibung:
Fehlgeschlagene Vorbestätigung:
  Benutzername: Martin
  Benutzerkennung: DOMAIN\Martin
  Dienstname: krbtgt/DOMAIN
  Vorauthentifizierungstyp: 0x0
  Fehlercode: 0x19
  Clientadresse: 192.168.16.150

Nach einiger Recherche kam ich dahinter, dass dies nur Arbeitsplätze betraf, die Windows Vista oder Windows 7 einsetzten. Rechner mit Windows XP oder Windows 2003 Server tauchten hier nie auf.

Ein wenig weiteres Forschen brachte mich dann auf die Ursache:

Diese Event Id wird ausgegeben wenn, der Domänencontroller den Kerberos-Authentifizierungsversuch eines Rechners nicht versteht. Das nur Windows Vista und Windows 7 Rechner als Verursacher auftauchen liegt daran, dass mit Windows Vista AES (Advanced Encryption Standard) als Verschlüsselungsverfahren von den Clients bevorzugt wird.
Leider kennt aber der Windows 2003 Domänen-Controller dieses Verfahren noch nicht. Weil es aber einen Fallback auf das RC4-HMAC Verfahren gibt merkt der Anwender nichts davon.

Windows Systeme unterstützen die folgenden Verschlüsselungsverfahren für Kerberos:

  • DES-CBC-CRC (Registrycode 0x1)
  • DES-CBC-MD5 (Registrycode 0x3)
  • RC4-HMAC (Registrycode 0x17)
  • AES (Registrycode 0x12) Wird seit Windows Server 2008 unterstützt (d.h. auch Vista und Windows 7)

Die Standard Preauthentifizierung erfolgt bei Windows 2000, Windows Server 2003, Windows XP immer RC4-HMAC.

Die Lösung ist ein kleiner Workaround in dem man einfach dem Vista oder Windows 7 Rechner mitteilt er soll doch einfach auch die RC4-HMAC Verschlüsselung wählen. Das verhindert dann die Nutzung von AES  und die Fehler sind weg, die durch den vergeblichen AES Anmeldeversuch entstehen.
Das erreicht man in dem man den Code 0x17 (siehe Aufzählung oben) für den DefaultEncryptionType einträgt. Nachfolgend der entsprechende Auszug aus der REG-Datei, die ich auf die Clients verteilt habe.

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters]
"DefaultEncryptionType"=dword:00000017

Oder in anderen Worten gesagt:

  • Man startet Regedit an den betroffenen Clients
  • Man wählt den Ast HKLM\System\CurrentControlSet\Control\LSA\Kerberos\Parameters
  • Dort erzeugt man einen DWORD Wert mit Namen DefaultEncryptionType
  • In diesen Wert setzt man 0x17 (bzw. 23 dezimal) ein

Nun ist Ruhe mit diesem Fehler 🙂

Weitere Links zum Thema Kerberos hier:
http://technet.microsoft.com/en-us/library/cc738673(WS.10).aspx
http://tools.ietf.org/html/rfc4757

Microsoft schließt die nntp://microsoft.public.* Gruppen

Seit Jahren haben sich MVPs dafür eingesetzt, dass NNTP Gruppen weiter ein integraler Bestandteil der Community Szene bei Microsoft bleiben. Das Reden und diskutieren hat nun ein Ende. Microsoft schafft Fakten.
Siehe
http://www.microsoft.com/communities/newsgroups/default.mspx
http://news.cnet.com/8301-13860_3-20004109-56.htm

Ab heute wird Microsoft in allen NNTP Gruppen bekanntgeben, dass diese Gruppen nach und nach abgeschaltet werden. Dieses Abschalten wird im Juni beginnen mit Gruppen, die wenig Traffic haben und im Herbst diesen Jahres soll dann die letzte Gruppe vom Netz gehen. Das heißt auch, dass im Community Bereich der Microsoft Homepage die Spiegelung der NNTP Gruppen beendet wird. http://www.microsoft.com/germany/community/developer/newsgroups.mspx.

Begründet wird dies damit, dass die Microsoft Community durch die Zentralisierung auf die Microsoft Webforen weiter gestärkt werden soll. Das Ganze wird weiter begründet mit der Möglichkeit einer effektiveren Suche, der besseren Archivierung, größerer Sicherheit und weniger Spam.

Verstehen kann ich diese ganze Argumentation nicht. Microsoft selbst hat es versäumt die NNTP Gruppen stärker zu umwerben und auch direkter auf diese effektiven Gruppen hinzuweisen. Suchen konnte man immer schon, wenn man es wollte und Spam war eher die Ausnahme als die Regel in den NNTP Gruppen. Manche Stimmen mögen hier eher anführen, dass Microsoft über diese Foren einfach keine Kontrolle hatte und das dies einer der wesentlichen Gründe für die Abschaffung ist. Ich befürchte dies leider auch. „Zensur“ oder „Kontrolle“ ist in den hauseigenen Webforen eben viel einfacher als im „freien“ Usenet.

Microsoft hat IMHO alle Vorschläge der MVPs zu einer Stärkung dieser Community ignoriert und ist seine eigenen Wege gegangen und stellt nun leider Ihre eigene Community vor vollendete Tastsachen. Das andere Zeiten andere Techniken nötig machen oder eben auch hervorbringen ist eine Sache, aber dieses Für&Wider will ich hier jetzt gar nicht mehr diskutieren…

Das der Traffic die letzten Jahre abgenommen hat war klar zu sehen, ist aber eben auch Schuld von Microsoft selbst, weil keine Werbung gemacht wurde. Für meine „Lieblingsgruppe“ 😉 nntp://microsoft.public.de.vc war dies nicht unbedingt schlecht. Es blieb immer ein guter harter Kern an Regulars, der für eine gleichbleibend hohe Qualität sorgte. Jeder der diese Gruppe besuchte konnte mit einer qualitativ hochwertigen Antwort rechnen.

Ich kann nicht für alle Produktbereiche und alle Foren sprechen, aber ich denke, dass ich einen guten Überblick über die technischen Foren für C/C++ und WinAPI habe (sowohl in Englisch als auch in Deutsch). So möchte ich auch speziell zu der Situation dieser Foren hier Stellung nehmen. Als Regular seit über 13 Jahren in nntp://microsoft.public.de.vc , Moderator für die MFC und WinAPI Foren im deutschen C++ Forum (http://www.c-plusplus.de/foren) und Moderator in den C++ und Windows Entwicklungsbereichen der MSDN (http://social.msdn.microsoft.com/Forums/de-de/categories/) kann ich mir wahrscheinlich auch  ein Urteil erlauben. 😉

Im Vergleich zu allem, was ich in den letzten 12 Jahren an Community erlebt habe, ist keines der Webforen jemals an die hohe Qualität der Microsoft NNTP Foren herangekommen, zumindest was den Bereich Technik und Entwicklung betrifft. Dies gilt meines Erachtens sowohl für die deutschen, als auch englischen Foren. Dies habe ich so auch als Stellungnahme von anderen MVPs anderer Produktbereiche wahrgenommen. Man kann nur hoffen, dass sich das in Zukunft ändert. Das dies ein Automatismus wird wage ich stark zu bezweifeln.

Mit dem Launch von VS-2005 wurden auch deutsche Webforen eingeführt, die aber definitiv als Flop endeten. Im März letzten Jahres gab es dann einen Relaunch auf breiter Basis und mit mehr Engagement von Microsoft und einem vernünftigen Angebot von Gruppen gegenüber dem Start in 2005. Ich habe dazu damals entsprechend berichtet.
Das Microsoft hier weitaus mehr investierte war sofort auch daran zu erkennen, dass hier regelmäßig Microsoft Mitarbeiter präsent waren. Das war auch im Startup der englischen Webforen zu beobachten. Sie sorgten für eine hohe Antwortquote egal um welches Thema es auch ging.
Zumindest fangen diese Foren an zu funktionieren, obwohl sie im C/C++/WinAPI Bereich in keiner Weise an den Traffic der NNTP Gruppe oder des deutschen C++ Forums heran kommt. Ich muss auch klar sagen, dass hier noch einige thematische Gruppen fehlen. Aber wir werden vermutlich in nächster Zeit hier auch noch entsprechende Erweiterungen erleben.

Es bleibt die Tatsache, dass die Qualität in fast allen Webforen zum Teil unterirdisches Niveau haben.
Ein Großteil der Fragen entspringt der Unfähigkeit Google und Bing zu verwenden, geschweige denn die Möglichkeit zu nutzen technische Dokumentationen auch zu lesen. Mangelnde Eigeninitiative in Verbindung mit der allgegenwärtigen Forderung „Gib mir ein paar Zeilen Beispielcode“ sorgen bei mir nicht gerade für Spaß und Herausforderung in diesen Community Bereichen.
Wen wundert es, dass sich ein Techie mit Niveau eher abgeschreckt, als angezogen fühlt, durch die Qualität der Diskussion und Mitglieder. Die Nische NNTP Gruppen war Qualitativ und aufgrund der gewachsenen Strukturen der Mitglieder eine gute Sache. Leider wird diese Nische nun bald verschwinden. Wenn nicht… wer weiß?

Für die Zukunft kann ich nur hoffen, dass viele der Regulars aus den NNTP Gruppen tatsächlich „umziehen“ in die Webforen und damit hoffentlich für mehr Qualität und durch Ihre kontrollierte Präsenz auch für mehr Netiquette sorgen.
Ich bin gespannt was wird. Leider ist meine Hoffnung dies bzgl. gering. Ich befürchte eher, dass sich ein Profi nach dem anderen aus der Online-Community langsam genervt verabschieden wird.

Als Community Dinosaurier weine ich den NNTP Foren nicht nur eine Träne nach, aber das Leben geht weiter…

PS: Die Frage wann die microsoft.public.* Gruppen endgültig verschwinden bleibt natürlich offen. Nicht alle benutzten news.micrsoft.com als Newsserver und NNTP ist nun mal ein verteiltes System. Microsoft wird also eine RMGRPOUP Befehl für seine Gruppen versenden und es bleibt abzuwarten welche Newsserver diesen wirklich ausführen.
Es kann also gut sein, dass uns die microsoft.public.* Gruppen noch eine Weile erhalten bleiben, selbst wenn news.microsoft.com abgeschaltet ist. Nur werden Sie ein Schattendasein fristen und Sicherheit wird der Traffic hier weiter abnehmen, wenn es keinerlei Hinweise mehr von Microsoft selbst auf diese Foren gibt.