…und das ohne nervige DLLs!
Ich hatte lange Zeit auf Vista das Problem, dass QIP Links mit dem IE geöffnet hat, statt mit Firefox oder Chrome. Bisher habe ich das Problem mit einer kleinen DLL gelöst (Klick mich) – das einzige Problem hierbei war, dass die DLL versionsabhängig war und bei jeder neuen QIP Version aktualisiert werden musste.
Nun habe ich mich eben daran gesetzt, diese DLL neu zu schreiben. Soweit alles kein Problem – WinAPI Hooks lassen sich ja problemlos portabel gestaltet. Das größere Problem stellte hierbei der eingebaute Integrity Check von QIP dar: Beim Start wird die qip.exe überprüft und das Programm beendet sich mit einer freundlichen Meldung, wenn die Überprüfung fehlgeschlagen ist.

QIP Integritätsvalidierung
Nachdem ich die neue Version des QIP-Fixes nun soweit fertig gestellt hatte, dass auch dieses Problem automatisch umgangen wurde (Klick mich für Code der neuen Version), fand ich beim nachträglichen Überfliegen der QIP Binary einen interessanten String:

Ein kurzer Google-Besuch führte mich dann auf einen MSDN Artikel (Klick mich) und ein kurzer Blick in die Registry bestätigte meinen Verdacht: Aus irgendeinem Grund hatte sich Chrome hier nicht als Standardbrowser eingetragen. Schnell einen Registrykey ( HKEY_CLASSES_ROOT\http\shell\open\command\(Default) ) auf den korrekten Wert für Chrome geändert, welchen ich über ein experimentelles C-Tool bereits zuvor bekommen hatte (Klick mich), und noch den Wert von HKEY_CLASSES_ROOT\http\shell\open\ddexec\Application\(Default) von Firefox auf Chrome geändert -und Tada! QIP öffnete auch ohne irgendwelche DLLs Links mit Chrome!
..ich mache mir es manchmal echt zu umständlich.
all your journal so interesting, it is very useful for me..