Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   CompareString Vista Workaround (https://www.delphipraxis.net/111116-comparestring-vista-workaround.html)

jbg 29. Mär 2008 21:47


CompareString Vista Workaround
 
Liste der Anhänge anzeigen (Anzahl: 1)
In Windows Vista ist ein Bug, der dazu führt dass ein AnsiCompareText('Hübner', 'Huebner') = 0 liefert, also beide Namen als gleicht erkannt werden. Der Bug wurde bereits
hier diskutiert und auch Microsoft ist er bewusst. Leider wurde der nötige Bugfix nicht in Vista SP1 aufgenommen (nachzulesen hier). Im Windows 2008 Server ist der Bug jedoch behoben. Das führt nun natürlich zu dem Phänomen, dass unter Windows 9x/ME/NT, 2000, XP und 2008 sich die Programme korrekt verhalten und unter Vista eben nicht.

Da ich damit nicht leben kann habe ich mich mal hingesetzt und einen API Hook für CompareStringA und CompareStringW geschrieben. Dadurch ist auch lstrcmp und Konsorten abgedeckt, da diese wiederum CompareString aufrufen.


Was haltet ihr von dem Patch. Ist er korrekt (bei CompareStringA bin ich mir wegen der CodePage nicht ganz sicher). Sollte ich daraus einen System weiten Hook machen um allen Programmen korrigierte CompareString Funktionen zu bieten?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz