首页 > 代码库 > C# 安装字体
C# 安装字体
using System.Windows.Forms;using System.Runtime.InteropServices;using System.IO;[DllImport("kernel32.dll", SetLastError = true)]static extern int WriteProfileString(string lpszSection, string lpszKeyName, string lpszString);[DllImport("user32.dll")]public static extern int SendMessage(int hWnd, // handle to destination window uint Msg, // message int wParam, // first message parameter int lParam // second message parameter );[DllImport("gdi32")]public static extern int AddFontResource(string lpFileName); private void installFont(){ string WinFontDir = System.Environment.GetEnvironmentVariable("WINDIR")+"\\fonts"; string FontFileName = "DS-Digital Bold Italic.TTF"; string FontName = "DS-Digital Bold Italic"; int Ret; int Res; string FontPath; //const int WM_FONTCHANGE = 0x001D; //const int HWND_BROADCAST = 0xffff; FontPath = WinFontDir + "\\" + FontFileName; if (!File.Exists(FontPath)) { File.Copy(System.Windows.Forms.Application.StartupPath + "\\DS-Digital Bold Italic.TTF", FontPath); Ret = AddFontResource(FontPath); //Res = SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0); //WIN7下编译这句会出错,不知道是不是系统的问题,这里应该是发送一个系统消息关系不大不影响字体安装,所以我注释掉了 Ret = WriteProfileString("fonts", FontName + "(TrueType)", FontFileName); }}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。