Screen.Fonts macht EXAKt dasselbe. Aber das problem hab ich inzwischen gelößt. Delphi reagiert nur dann exakt, wenn ich auch AddFontResource nutze, ansonsten etwas später.
Tja...und nun? Die fonts können NICHT permanent installiert werden. Beim nächsten start ist alles futsch. In der
MSDN steht dazu nur, man müsse es in die registry eintragen...ach und WO?. Das problem ist, das unter HKey_LocalMachine\Software\Microsoft\WindowsNT\Fon ts zwar alle fonts gelisted sind, dortige einträge aber nicht zählen.
Diese einträge sind nur für die Fakeansicht des Windos\Fonts ordners. Der zeigt nämlich nicht seinen inhalt, sondern was in der Registry steht. Klasse.
Wenn ich die font datei per copyfile in den fonts ordner verfrachte und AddFontResource aufrufe, hab ich den font erst permanent, wenn einmal der Windows\Fonts ordner geöffnet wurde. Danach ist ein entfernen nicht mehr möglich. Wenn ich RemoveFontResource aufrufe und es schaffe die datei im Fonts ordner zu löschen, und den dazugehörigen Key(den die ansicht zeigt ja nicht die dateien), dan zeigen noch immer alle applikationen meine font an. erst nach einem neustart verschwindet der geisterfont aus dem system.
Jemand nen ratschlag wie ich einen Font vernünftig in den Fonts ordner installiere und deinstalliere?
@Himitsu: GENAU diese apis suche ich. Ich finde die nicht.
EDIT: Ok ich habs jetzt. File rüberkopieren, In den oben genannten Fonts schlüssel der Registry einen eintrag machen, AddFontResources aufrufen, sendmessage WM_FONTCHAnge, in umgekehrter reihenfolge zum löschen. phew >.<
MFG
Memnarch