3

嗨,我在安装时在我的 nsis 安装程序中的几台机器上遇到了一个奇怪的错误。它在使用 fontreg.nsh 安装字体时给出“无效的 win32 文件句柄”

我试过谷歌,但没有得到这个问题的答案。现在我想压制这条消息,所以有没有办法压制这条消息,或者如果可能的话建议我解决这个问题。

这是我的代码

!include "FontReg.nsh" !include "FontName.nsh" !include "WinMessages.nsh"

StrCpy $FONT_DIR $FONTS

!insertmacro InstallTTFFont 'calibri_0.TTF' !insertmacro InstallTTFFont 'calibrib.TTF' !insertmacro InstallTTFFont 'calibriz.TTF' !insertmacro InstallTTFFont 'calibrii.TTF'

发送消息 ${HWND_BROADCAST} ${WM_FONTCHANGE} 0 0 /TIMEOUT=5000

请帮助它的紧急

4

2 回答 2

1

据我所知,robertinventor 在这里有一个修复(2010 年 3 月 11 日,23:16):

http://forums.winamp.com/showthread.php?t=209326

于 2011-07-31T20:36:55.163 回答
0

在回答您最初的问题(“有没有办法抑制消息”)时,它实际上并不是一个例外,FontReg 正在显示一个 MessageBox。

我编辑了 FontReg.nsh 并替换了第 84 行。

老的:

MessageBox MB_OK "$R2"

新的:

DetailPrint "[ERROR] InstallTTFFont"
DetailPrint "[ERROR]     error: $R2"
DetailPrint "[ERROR]     FontFile: ${FontFile}"
DetailPrint "[ERROR]     FontFileName: ${FontFileName}"
DetailPrint "[ERROR]     Index: ${Index}"
于 2019-07-02T14:16:25.703 回答