Bagikan melalui


Fungsi RemoveFontResourceA (wingdi.h)

Fungsi RemoveFontResource menghapus font dalam file yang ditentukan dari tabel font sistem.

Jika font ditambahkan menggunakan fungsi AddFontResourceEx , Anda harus menggunakan fungsi RemoveFontResourceEx .

Sintaks

BOOL RemoveFontResourceA(
  [in] LPCSTR lpFileName
);

Parameter

[in] lpFileName

Penunjuk ke string yang dihentikan null yang menamai file sumber daya font.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol.

Keterangan

Kami menyarankan agar jika aplikasi menambahkan atau menghapus font dari tabel font sistem, aplikasi akan memberi tahu jendela lain tentang perubahan dengan mengirim pesan WM_FONTCHANGE ke semua jendela tingkat atas dalam sistem. Aplikasi mengirim pesan ini dengan memanggil fungsi SendMessage dengan parameter hwnd diatur ke HWND_BROADCAST.

Jika ada referensi yang luar biasa ke font, sumber daya terkait tetap dimuat sampai tidak ada konteks perangkat yang menggunakannya. Selain itu, jika font tercantum dalam registri font (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts) dan diinstal ke lokasi mana pun selain folder %windir%\fonts\, font mungkin dimuat ke sesi aktif lainnya (termasuk sesi 0).

Ketika Anda mencoba mengganti file font yang ada yang berisi font dengan referensi luar biasa untuk itu, Anda mungkin mendapatkan kesalahan yang menunjukkan bahwa font asli tidak dapat dihapus karena sedang digunakan bahkan setelah Anda memanggil RemoveFontResource. Jika aplikasi Anda mengharuskan file font diganti, untuk mengurangi jumlah sumber daya font asli menjadi nol, panggil RemoveFontResource dalam perulangan seperti yang ditunjukkan dalam kode contoh ini. Jika Anda terus mendapatkan kesalahan, ini adalah indikasi bahwa file font tetap dimuat di sesi lain. Pastikan font tidak tercantum dalam registri font dan mulai ulang sistem untuk memastikan font dibongkar dari semua sesi.

Catatan Aplikasi tempat file font asli digunakan masih dapat mengakses file asli dan tidak akan menggunakan font baru hingga font dimuat ulang. Panggil AddFontResource untuk memuat ulang font. Kami menyarankan agar Anda memanggil AddFontResource berapa kali panggilan ke RemoveFontResource berhasil seperti yang ditunjukkan dalam kode contoh ini.
 

int i = 0;
while( RemoveFontResource( FontFile ) )
{
    i++;
}

// TODO: Replace font file

while( i-- )
{
    AddFontResource( FontFile );
}

Catatan

Header wingdi.h mendefinisikan RemoveFontResource sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header wingdi.h (sertakan Windows.h)
Pustaka Gdi32.lib
DLL Gdi32.dll

Lihat juga

AddFontResource

Fungsi Font dan Teks

Font dan Gambaran Umum Teks

RemoveFontResourceEx

SendMessage