2012-07-06 141 views
2

我需要檢查一個字體是否沒有安裝在一臺機器上,如果沒有,我的程序沒有用戶界面安裝它。靜默安裝字體

有誰知道這是如何實現的?

我知道我需要先將字體複製到字體目錄,但是爲了使它的機器需要重新啓動,我不想這樣做。

在此先感謝您的幫助。

回答

2

Look here

也許試試這個:

[DllImport("gdi32", EntryPoint = "AddFontResource")] 
public static extern int AddFontResourceA(string lpFileName); 
+0

這很好,但缺乏閱讀的示範。他不會說「使用字體」,而是「安裝字體」。上面的調用會在會話結束之前使用字體進行註冊 - 這與安裝到操作系統中不一樣。 – TomTom 2014-05-29 04:06:20

1

有誰知道這是如何實現的?

是的。不是這樣。不是你的工作來安裝字體 - 很可能管理員會告訴你去地獄(如:你的程序/用戶無權這樣做)。我必須檢查,如果安靜,正常用戶不能將字體複製到字體目錄。

這是安裝人員所做的。你可以默默地啓動一個安裝程序,但是隨後你又進入了版權問題,所以除非用戶是 - 啊 - ;) - 不是一個普通的用戶。

機器需要重新啓動,我不希望這樣。

NOONE關心你想要什麼。 MS已經制定了安裝準則,必須遵守。在那裏我自己 - 你做的任何詭計都會回來並咬你。謙虛在這裏規則 - 遵守規則。

仍然有太多的軟件寫出來 - 例如配置/用戶數據到他們的文件夾(現在是寫保護 - 並在過去10年被記錄)的人寫的 - 問題。

+0

完全同意:P – 2012-07-06 10:17:26