07-11-2025, 12:04 PM
يمكنك استخدام الدالة AddFontResource لإضافة الخط إلى مجلد الخطوط في الويندوز. بعد ذلك، يجب عليك إعلام الويندوز بأن هناك تغيير قد حدث في الخطوط باستخدام الدالة SendMessage.
هذا مثال على كيفية القيام بذلك في دلفي:
يمكنك استدعاء هذه الدالة بتمرير مسار ملف الخط الذي تريد تثبيته:
يرجى ملاحظة أن هذه العملية تتطلب صلاحيات إدارية في الويندوز. إذا كنت تقوم بتشغيل البرنامج تحت حساب عادي، قد تظهر رسالة خطأ أو لا يتم تثبيت الخط.
أيضا، يجب عليك إضافة ShellAPI إلى uses إذا كنت تستخدم CopyFile:
هذا مثال على كيفية القيام بذلك في دلفي:
كود :
uses
Windows;
procedure InstallFont(FontFilePath: string);
var
FontPath: array[0..MAX_PATH] of Char;
begin
if FileExists(FontFilePath) then
begin
StrPCopy(FontPath, FontFilePath);
if AddFontResource(FontPath) <> 0 then
begin
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
// نسخ الخط إلى مجلد الخطوط في الويندوز
CopyFile(PChar(FontFilePath), PChar(ExtractFilePath(GetWindowsDir) + 'Fonts\' + ExtractFileName(FontFilePath)), False);
end;
end;
end;يمكنك استدعاء هذه الدالة بتمرير مسار ملف الخط الذي تريد تثبيته:
كود :
procedure TForm1.Button1Click(Sender: TObject);
begin
InstallFont('C:\Path\To\Your\Font.ttf');
end;يرجى ملاحظة أن هذه العملية تتطلب صلاحيات إدارية في الويندوز. إذا كنت تقوم بتشغيل البرنامج تحت حساب عادي، قد تظهر رسالة خطأ أو لا يتم تثبيت الخط.
أيضا، يجب عليك إضافة ShellAPI إلى uses إذا كنت تستخدم CopyFile:
كود :
uses
Windows, ShellAPI;
إذا رأيت منتجاً مجانياً فأعلم بأنك أنت السّلعة



![[-]](https://delphi4arab.net/forum/D4A2020/collapse.png)