如上所述,您可以啓動其他可執行文件來爲您安裝TrueType字體。我不知道你的具體使用情況,但我會按照我所知道的方法運行,也許一個對你有用。
Windows有一個內置的工具稱爲fontview.exe,您可以通過調用Process.Start("Path\to\file.ttf")
任何有效的TrueType字體...假設默認文件關聯簡單地調用。這類似於從Windows資源管理器手動啓動它。這樣做的好處是非常簡單,但它仍然需要每種字體的用戶交互來安裝。據我所知,沒有辦法調用這個過程的「安裝」部分作爲參數,但即使有,你仍然需要提升權限並與UAC對抗。
更有趣的選項是一個名爲FontReg的實用程序,它替代舊版本Windows上包含的棄用fontinst.exe。 FontReg使您可以通過與/複製開關調用可執行編程安裝字體的整個目錄:
var info = new ProcessStartInfo()
{
FileName = "Path\to\FontReg.exe",
Arguments = "/copy",
UseShellExecute = false,
WindowStyle = ProcessWindowStyle.Hidden
};
Process.Start(info);
注意字體必須是在哪裏FontReg.exe是根位於。您還必須擁有管理員權限。如果你需要你的字體安裝完全透明,我會建議啓動你的應用程序與提升的權限和批准的UAC預先,這樣當你產卵你的子進程你不需要用戶批准Permissions stuff
可能的重複:http://stackoverflow.com/questions/14796162/how-to-install-a-windows-font-using-c-sharp – Marcus
正如我指出的,我讀了幾篇文章,但他們沒有回答我的問題。我希望永久性地安裝字體,並且我還詢問了有關注冊表的一些信息。 –