JavaクラスからWindowsシステムに一連のフォントをインストールしたいと思います。BirtReportにこれらのフォントを使用しています。
3 に答える
バッチ/PowerShell スクリプトを記述して、アプリケーションにフォント ファイルと共に含めることができます。次に、スクリプトを実行できます
Runtime.getRuntime().exec(...)
ほとんどの場合、アプリケーションを実行したら、アプリケーションの特権を上げる必要があります。
パスワードの受け渡しについて。実行できるcmd.exe
ので、ポップアップしてユーザーに指示します。また、プロパティProcess
を持つクラス オブジェクトに exec の戻り値を割り当ててみることもできます。私はそれを正しく行う方法がわかりません。数年前にプロジェクトで一度実行しましたが、コードはもうありません。InputStream
OutputStream
フォントを 1 回だけインストールする必要がある場合は、それを処理する Java アプリケーションのインストーラーを作成することを検討してください。XML を使用して複雑なインストーラーを作成できる、IzPack と呼ばれる優れたインストーラー ジェネレーターがあります。また、インストール中に実行される実行可能ファイルの特権を上げることもできます。これは私がそのようなことをする方法です。
ローカル管理者権限がなくても、カスタム フォントをフォント キャッシュに追加できます。その後、ログアウトするまで、すべてのアプリケーションでカスタム フォントを使用できます。これを行う Windows API はAddFontResourceです。JNI ヘルパー DLL を介して直接呼び出すことも、RegisterFontsユーティリティを実行することもできます。
これらのフォントをテストするウィンドウにいる場合は、システム -> フォントを使用してこれらのフォントをインストールできます。プログラムでそれを調整しようとしている場合は、後で参照できるように、Java リソース ファイルにそれらを含めることから始める必要があります。
それが役立つことを願って〜