您当前的位置: 首页 >  鱼儿-1226

NSIS 字体安装

鱼儿-1226 发布时间:2020-07-30 10:20:52 ,浏览量:6

 安装新字体

网上流传的方法是

复制内容到剪贴板

代码:

!include WinMessages.nsh
Section "FONTS" SEC01
File /oname=$FONTS\tahoma.ttf tahoma.ttf ;tahoma.ttf 为字体安装文件
Push "$FONTS\tahoma.ttf"
System::Call "Gdi32::AddFontResource(t s) i .s"
Pop $0
IntCmp $0 0 0 +2 +2
MessageBox MB_OK "注册字体失败"
SendMessage ${HWND_BROADcast} ${WM_FONTCHANGE} 0 0
SectionEnd
 
或者如下:
WriteRegStr HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" "Lucida Grande (TrueType)" "Lucida Grande.ttf"
System::Call "GDI32::AddFontResource(t) i ('Lucida Grande.ttf') .s"
来自:http://dreams8.com/thread-3651-1-2.html
方法三:
 ;安装字体……
  SetOutPath "$INSTDIR"
  File  "Fonts\FZZY_GBK.TTF"
  Call InstallFont
SectionEnd

;----------------------------------------------------------------------------------

Section Uninstall
  ;删除字体
   Push "$FONTS\FZY3FW.TTF"
   System::Call "Gdi32::RemoveFontResource(t s) i .s"
   Pop $0
   IntCmp $0 0 0 +2 +2
   DetailPrint "删除繁体字体失败"
   SendMessage ${HWND_BROADcast} ${WM_FONTCHANGE} 0 0
   Push "$FONTS\FZZY_GBK.TTF"
   System::Call "Gdi32::RemoveFontResource(t s) i .s"
   Pop $0
   IntCmp $0 0 0 +2 +2
   DetailPrint "删除简体字体失败"
   SendMessage ${HWND_BROADcast} ${WM_FONTCHANGE} 0 0
  Delete "$FONTS\FZZY_GBK.TTF"
  Delete "$FONTS\FZY3FW.TTF"
  
  Delete "$INSTDIR\FZZY_GBK.TTF"
  Delete "$INSTDIR\FZY3FW.TTF"
SectionEnd


;----------------------------------------------------------------------------------


;用于安装字体
Function InstallFont
  DetailPrint "正在安装字体……"
  ;检查字体是否存在。
  IfFileExists $FONTS\FZZY_GBK.TTF lb_fontend
  ; MessageBox MB_RETRYCANCEL|MB_ICONQUESTION "字体已存在。请删除系统中的方正准圆_GBK字体 后点重试,或者点取消以后手动安装。" IDRETRY lb_jtfont IDCANCEL lb_jtfontend
;lb_font:
    CopyFiles $INSTDIR\FZZY_GBK.TTF $FONTS\FZZY_GBK.TTF
    Push "$FONTS\FZZY_GBK.TTF"
        System::Call "Gdi32::AddFontResource(t s) i .s"
        Pop $0
        IntCmp $0 0 0 +2 +2
        MessageBox MB_OK "注册字体失败"
        SendMessage ${HWND_BROADcast} ${WM_FONTCHANGE} 0 0
        return
lb_fontend:
        Detailprint "字体已经存在,跳过……"
        return
FunctionEnd

!include functions.nsh
来自:http://dreams8.com/thread-3956-1-4.html
 
安装硬盘上的字体(代码插入Function,Section内):
StrCpy $0 "D:\Fonts\Chs\经典空趣体繁.ttf"
WriteRegStr HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" "经典空趣体繁(TrueType)" "$0"
System::Call "GDI32::AddFontResource(t) i ('$0') .s"
关注
打赏
查看更多评论

鱼儿-1226

暂无认证

  • 6浏览

    0关注

    855博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录