Seite 1 von 2
Fonts mithilfe eines selbstprogrammierten Programms install.
Verfasst: 09.07.2006 12:14
von Vermilion
Ich wollte mal Fragen, was muss ich in den Quelltext schreiben, damit mein Programm eine Schrift im System installiert?
Mit CopyFile(VonHier, NachDa) habe ich es schon versucht, hat aber nicht geklappt. Wahrscheinlich wegen dem Windows Schreibschutz, oder was das war...
Natürlich habe ich selber etwas geforscht, und in der Registry so einen Ordner, oder wie man das noch mal nennt, gefunden, indem für jede installierte Schriftart ein Schlüssel drin war.
Also muss ich einen Schlüssel anlegen und die Datei anschließend kopieren, oder?
Re: Fonts mithilfe eines selbstprogrammierten Programms inst
Verfasst: 09.07.2006 12:24
von Kiffi
> Mit CopyFile(VonHier, NachDa) habe ich es schon
> versucht, hat aber nicht geklappt. Wahrscheinlich wegen dem Windows
> Schreibschutz, oder was das war...
Fehlermeldung?
Grüße ... Kiffi, oder so...
Verfasst: 09.07.2006 14:02
von Kaeru Gaman
du musst aber afaik nicht unbedingt eine schriftart installieren, um sie nutzen zu können...
ich bin mir jetzt nicht wirklich sicher über den zugriff der DrawText-sachen,
aber vielleicht geht es ja, wenn dich der zeichensatz im selben pfad wie die exe befindet.
Verfasst: 09.07.2006 15:07
von AndyX
Kaeru Gaman hat geschrieben:du musst aber afaik nicht unbedingt eine schriftart installieren, um sie nutzen zu können...
ich bin mir jetzt nicht wirklich sicher über den zugriff der DrawText-sachen,
aber vielleicht geht es ja, wenn dich der zeichensatz im selben pfad wie die exe befindet.
nein, es reicht nicht, wenn der Font im selben Pfad ist. Hab das mal ausprobiert und mich maßlos geärgert weil ichs nicht gebacken bekommen habe lol..
Verfasst: 09.07.2006 15:37
von Kaeru Gaman
hm.. schade eigentlich...
das bringt uns zurück zum topic:
weiß jemand, wie das geht?
besonders für die kollegen, die installer schreiben, wäre das praktisch.
wenn man beim zusammenstellen des pakets das gleich als schriftart
aufnehmen kann, die dann beim install ins FONTS geschrieben wird,
das wär doch mal was.
Verfasst: 09.07.2006 16:05
von Kiffi
> weiß jemand, wie das geht?
CopyFile("C:\LBRITE.TTF", "C:\WINDOWS\Fonts\LBRITE.TTF")
... wobei das Fonts-Verzeichnis latürnich mit SHGetSpecialFolderLocation_()
korrekt ermittelt werden muss.
Solange wir keine Fehlermeldung von 'the Nameless' bekommen, können wir
lange herumrätseln, warum es bei ihm nicht klappt.
Grüße ... Kiffi
Verfasst: 09.07.2006 17:07
von Kaeru Gaman
hm.. könnte man nicht auf den API aufruf SHGetSpecialFolderLocation_() verzichten, wenn man
Code: Alles auswählen
CopyFile("C:\LBRITE.TTF", "%system%\Fonts\LBRITE.TTF")
benutzt?
Verfasst: 09.07.2006 17:31
von Jilocasin
noja.. die fonts sind ja keine normalen dateien die im FONT-verzeichnis von windoof sind, sondern "installiert"...
das merkt man z.b. wenn man sich die dateinamen ansieht oder eine TTF-Font-datei ins FONT-verzeichnis "kopiert"
also die datei "reinkopieren" reicht glaub ich da nich, oder?
Verfasst: 09.07.2006 17:57
von Kaeru Gaman
Jilocasin hat geschrieben:also die datei "reinkopieren" reicht glaub ich da nich, oder?
tja das ist halt die frage....
ob PB einfach nach der Datei im FONTS-verzeichnis guckt, oder ob es in der registry sucht...
da man jedoch beim einschalten den Fontnamen und nicht den dateinamen angeben muss,
befürchte ich, dass PB die API-funktion benutzt, die über die registry läuft...
Verfasst: 09.07.2006 19:31
von ts-soft
Fonts müssen registriert werden in der Registry, ansonsten sind es tote
Dateien im Fonts-Ordner. Diese Registrierung erfordert Adminrechte ab
Win2k. Leider kenne ich die passende API nicht, um die Einträge
vorzunehmen. Ob Windows die Einträge aus der Win.ini überträgt ist mir nicht
bekannt, genausowenig wie das Format (ist bei mir leer der Schlüssel [fonts]
Entweder den Font als Resource in die Exe und von dort nutzen, ist die
sauberste Lösung, oder einen Installer benutzen. Als Datei im
Programmverzeichnis ist er wohl auch eingeschränkt nutzbar, hat dann aber
nichts im Fonts-Ordner zu suchen.