Installierte Fonts ermitteln [erledigt]
Übersicht

Weazle25Betreff: Installierte Fonts ermitteln [erledigt] |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mit BB kann man ja biliebige Fonts laden und verwenden.
Nur wie kann ich herrausfinden welche Fonts installiert sind ohne den Fonts-Ordner abklappern zu müssen? Allerdings brauche ich die Windowsnamen der Fonts und nicht die Dateinamen. Gruss Weazle |
||
- Zuletzt bearbeitet von Weazle25 am Mi, Nov 23, 2005 20:34, insgesamt einmal bearbeitet
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Lad ihn, und guck obs geklappt hat? | ||
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es gibt da eine nette kleine "enumfonts.dll" von Seth Jeffery (alias "Cyberseth"), die eine Liste aller installierten Fonts ausgibt. Hab jetzt keine URL im Kopf aber googeln nach "enumfonts.dll" wird dir den Weg zeigen, oh Suchender ![]() |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
Weazle25 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
x-pressive hat Folgendes geschrieben: Es gibt da eine nette kleine "enumfonts.dll" von Seth Jeffery (alias "Cyberseth"), die eine Liste aller installierten Fonts ausgibt. Hab jetzt keine URL im Kopf aber googeln nach "enumfonts.dll" wird dir den Weg zeigen, oh Suchender
![]() Hab ich mir runtergeladen. Danke. Leider habe ich von C++ keine Ahnung. Deshalb schaffe ich es nicht mal die dcls zusammen zu basteln. Aber trotzdem Danke für Deine Hilfe. Gruss Weazle |
||
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Um die .dll zu nutzen, brauchst du keine Ahnung von C++ zu haben. Das ist recht simpel:
1. Erstelle eine Textdatei mit folgendem Inhalt und speichere sie als "enumfonts.decls" in deinem Blitz/userlibs-Ordner: Zitat: .lib "enumfonts.dll"
EnumerateFonts%(hdc) GetEnumeratedItem$(plist%, index%) GetEnumeratedCount%(plist%) 2. Erstelle eine weitere Textdatei mit folgendem Inhalt und speichere sie als als "user32.decls" in deinem Blitz/userlibs-Ordner: Zitat: .lib "user32.dll"
User32_GetDC%( hWnd% ):"GetDC" User32_ReleaseDC (hWnd%,hDC%):"ReleaseDC" 3. Schmeiss die .dll in den selben Ordner wie dein Programm. 4. Das wars. Jetzt kannst du die Befehle in deinem Code nutzen. Dieser BlitzPlus-Code, zum Beispiel, füllt eine Listbox mit den Namen aller gefundenen Fonts: BlitzBasic: [AUSKLAPPEN]
|
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
Weazle25 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
x-pressive hat Folgendes geschrieben: Um die .dll zu nutzen, brauchst du keine Ahnung von C++ zu haben. Das ist recht simpel:
1. Erstelle eine Textdatei mit folgendem Inhalt und speichere sie als "enumfonts.decls" in deinem Blitz/userlibs-Ordner: Zitat: .lib "enumfonts.dll"
EnumerateFonts%(hdc) GetEnumeratedItem$(plist%, index%) GetEnumeratedCount%(plist%) Funktioniert leider immer noch nicht. B3D sagt mir nur das die Functionen nicht in der EnumFonts.dll enthalten sind. Auch im Sourcecode der EnumFonts.dll konnte ich keinen Hinweis auf diese Functionen entdecken. Hast Du die dll vielleicht verändert oder ne andere Version? Gruss Weazle [Edit]Ich habe die dll von http://www.aspheute.com/artikel/20010126.htm |
||
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Im Source-Code der .dll?? Nur um Missverständnissen vorzubeugen -eine .dll-Datei ist KEINE Textdatei, sondern eine bereits kompilierte Binärdatei. Du hast also sicher nicht deren Source-Code gesehen, sondern irgendetwas anderes dafür gehalten.
Hast du ganz sicher eine .dll heruntergeladen oder verwechselst du .dll-Dateien vielleicht mit irgendwelchen anderen Dateitypen, vielleicht den .decls-Dateien? Die decls-Dateien sind einfache Textfiles, die Blitz nur mitteilen, welche Funktionen in den .dll's zu finden sind. Die eigentlichen Funktionen sitzen in der .dll -und das ist eine Binärdatei (wenn du sie in einen Texteditor schmeisst, gibt's entweder Zeichensalat oder lauter Hex-Zahlen). |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
- Zuletzt bearbeitet von x-pressive am Mi, Nov 23, 2005 17:41, insgesamt einmal bearbeitet
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Man kann, wenn man die DLL mit nem Texteditor öffnet, die Funktionsnamen noch erkennen!
Die sind im klartext. Und es gibt diverse DLL-Editoren, die die Funktionen anzeigen. |
||
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ach so meint er das -na jedenfalls muß auf der Seite, wo du die .dll heruntergladen hast, ja auch eine Anweisung stehen, wie die decl aussehen muß. Könnte sein, daß es inzwischen eine neue Version der .dll gibt, die wieder andere Funktionen hat. | ||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
Weazle25 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ihr habt beide nicht ganz unrecht.
Aber das ZIP-File enthielt die dll und dessen Sourcecode. Und weder im Sourcecode noch in der disassemblierten dll waren die oben genannten Functionsnamen zu finden. Zum disassemblieren habe ich übrigens "URSoft W32Dasm Version 8.93 Program Disassembler/Debugger" verwendet. Da bekommt man eine recht ausführliche Liste aller im- und exportierten Functionen. Den Link habe ich leider nicht mehr. Einfach mal nach "W32DASM89.zip" googeln. Ursprünglich hatte ich mit API-Befehlen versucht die installierten Fonts auszulesen bis ich mitbekommen habe das man die in Delphi auf ganz einfache Weise ohne API auslesen kann. Hab mir ne entsprechende dll gebastelt und es funktioniert. Aber trotzdem Danke für Eure Hilfe. Gruss Weazle |
||
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Heidenei ![]() ![]() |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group