RemoveFontResourceExA 函式 (wingdi.h)
RemoveFontResourceEx 函式會從系統字型表格中移除指定檔案中的字型。
語法
BOOL RemoveFontResourceExA(
[in] LPCSTR name,
[in] DWORD fl,
[in] PVOID pdv
);
參數
[in] name
名稱為字型資源檔之 Null 終止字串的指標。
[in] fl
要從系統移除之字型的特性。 若要移除字型,使用的旗標必須與 使用 AddFontResourceEx 函式新增字型時相同。 如需詳細資訊,請參閱 AddFontResourceEx 函式。
[in] pdv
保留的。 必須為零。
傳回值
如果函式成功,則傳回非零的值。
如果此函式失敗,則傳回值為零。 沒有可用的擴充錯誤資訊。
備註
只有在指定的旗標與 AddFontResourceEx 函式新增字型時相同時,此函式才會移除字型。
當您嘗試將包含字型的現有字型檔案取代為未處理的參照時,您可能會收到錯誤,指出原始字型無法刪除,因為即使在呼叫 RemoveFontResourceEx 之後仍使用中。 如果您的 app 需要取代字型檔案,若要將原始字型的資源計數減少為零,請在迴圈中呼叫 RemoveFontResourceEx ,如此範例程式代碼所示。 如果您繼續收到錯誤,這表示字型檔案仍會保留在其他會話中。 請確定字型未列在字型登錄中,並重新啟動系統,以確保從所有會話卸除字型。
注意 使用中原始字型檔案的應用程式仍然可以存取源檔,而且在重載字型之前,不會使用新的字型。 呼叫 AddFontResourceEx 以重載字型。 我們建議您呼叫 AddFontResourceEx 與 RemoveFontResourceEx 的呼叫成功次數相同,如此範例程式代碼所示。
int i = 0;
while( RemoveFontResourceEx( FontFile, FR_PRIVATE, 0 ) )
{
i++;
}
// TODO: Replace font file
while( i-- )
{
AddFontResourceEx( FontFile, FR_PRIVATE, 0 );
}
注意
wingdi.h 標頭會根據 UNICODE 預處理器常數的定義,將 RemoveFontResourceEx 定義為別名,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | wingdi.h (包含 Windows.h) |
程式庫 | Gdi32.lib |
Dll | Gdi32.dll |