我想从我的java类到Windows系统安装一组字体。我将这些字体用于我的Birt Report。
答案 0 :(得分:2)
您可以编写批处理/ powershell脚本并将其与应用程序中的字体文件一起包含在内。然后你可以用
执行脚本Runtime.getRuntime().exec(...)
一旦运行,您很可能必须为应用程序提升权限。
至于传递密码。可以运行cmd.exe
,以便弹出并为用户提供支持。您还可以尝试将exec的返回值赋给Process
类对象,该对象具有InputStream
和OutputStream
属性。我不确定如何正确地做到这一点。几年前我在一个项目中做过一次,但我不再有代码了。
如果您只需要安装一次字体,请考虑为您的Java应用程序创建一个安装程序,以便处理它。有一个名为IzPack的简洁安装程序生成器,它允许您使用XML创建复杂的安装程序。它还允许您为安装期间运行的可执行文件提高权限。这就是我做这些事情的方式。
答案 1 :(得分:0)
您可以安装这些字体用户系统 - >字体,如果你在窗口测试它。 如果您尝试使用您的程序进行排列,则必须首先将它们包含在您的java资源文件中,以便稍后引用它。
希望有所帮助〜
答案 2 :(得分:0)
如果没有本地管理员权限,可以将自定义字体添加到字体缓存中。然后,您的自定义字体将可供所有应用程序使用,直到您退出为止。 执行此操作的Windows API为AddFontResource。通过JNI帮助程序DLL,您可以直接调用它,或者只执行RegisterFonts实用程序。