• ベストアンサー

APIでフォントをインストール

コントロールパネルから新しいフォントをインストールする代わりに、VBのプログラムからインストールするAPIはないものでしょうか? いろいろ探してみたのですが、見つかりませんでした。 ご存知の方がいらっしゃいましたら教えていただけませんか? VBは6.0SP5、対象OSは98,NT,2000です。

質問者が選んだベストアンサー

  • ベストアンサー
noname#62349
noname#62349
回答No.1

まずどこにコピーするかパスを取得します。 ' Windowsディレクトリのパス名を取得する関数の宣言 Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" _ (ByVal lpBuffer As String, _ ByVal nSize As Long) As Long 上記のAPIを使用してパスを指定し、外字をコピーします。 'ファイルコピー Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" _ (ByVal lpExistingFileName As String, _ ByVal lpNewFileName As String, _ ByVal bFailIfExists As Long) As Long そのあとレジストリ登録をします。 ''レジストリのオープン Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" _ (ByVal hKey As Long, _ ByVal lpSubKey As String, _ phkResult As Long) As Long ''レジストリキーの取得 Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" _ (ByVal hKey As Long, _ ByVal lpValueName As String, _ ByVal lpReserved As Long, _ lpType As Long, _ lpData As Any, _ lpcbData As Long) As Long ''レジストリのクローズ Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long ''レジストリのキー作成 Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" _ (ByVal hKey As Long, _ ByVal lpSubKey As String, _ ByVal Reserved As Long, _ ByVal lpClass As String, _ ByVal dwOptions As Long, _ ByVal samDesired As Long, _ lpSecurityAttributes As SECURITY_ATTRIBUTES, _ phkResult As Long, _ lpdwDisposition As Long) As Long ''レジストリの値設定 Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" _ (ByVal hKey As Long, _ ByVal lpValueName As String, _ ByVal Reserved As Long, _ ByVal dwType As Long, _ lpData As Any, _ ByVal cbData As Long) As Long かなりおおざっぱですけど これらを使えばVBで外字登録できます。 あとWindowsのバージョンに関する情報も取得しないと いけないかもしれません。

AnyBody
質問者

お礼

レジストリ操作が必要なんですね。 ちょっと試してみます。 ありがとうございました。

関連するQ&A

  • フォントの再インストール方法について

    windows2000sp3です。 Web表示で拡大文字が表示されない個所があるので、コントロールパネル-フォントで調べたらMSゴシックで18ポイント以上の文字が表示されません。 他のフォントもおかしいようで、何故だかわかりませんがフォントファイルが壊れたようです。 そこでOS CD-ROMに入っているフォントの再インストールをしたいのですが方法がわかりません。 ご存知の方、よろしくお願いします。

  • フォントがインストールできません。

     コントロールパネルのフォントフォルダを開け、フォントをインスツールしようとしましたが、ファイルを開けても「新しいフォントをインストールする」という表示がでなくなりました。どうすればいいのでしょうか。  また、一番困っているのが、MS明朝体が使えなくなってしまったことです。他のインストールしているフォントは使えます。OSは98です。詳しい方、是非教えてください。

  • フォントのインストール

    インストールしたフォントがエクセル・ワードに反映しません。コントロールパネルのフォントには、ちゃんと入ってるんですが・・・誰か教えて下さい。

  • フォントのインストール

    WindowsXPでフォントのインストールをしたいのですが、 [スタートメニュー]→[コントロールパネル]→[フォント]を開き、メニューの[フォント]→[新しいフォントのインストール]よりインストールするということなのですが、この[新しいフォントのインストール]が表示されません。どうすればいいのでしょう。 また、その時フォントをコピーペーストでファイルに入れましたが、これではインストールしたことになりませんでしょうか。

  • フォントがインストールできない

    OSはxpです。 色々なHPからフリーのフォントを ダウンロードしてきちんと解凍してから、フォントファイルにペーストコピーしても使用できるようになりません。 いろいろ調べてみると次の手順でインストールすることがわっかたのですが、、 1.「コントロールパネル」の「フォント」をクリック。 2.[ ファイル ]→[ 新しいフォントのインストール ] をクリック。 3.インストールしたいフォントのある「ドライブ」「フォルダ」を指定。 4.「フォントの一覧」より、追加したいフォントをクリック。 ところが、このとうり実行しようとしても、新しいフォントのインストールという表示が表われません。 さらに調べたところ、セーフモードで再起動すると 復帰する可能性があると知り、行ってみましたが 変わりません。 このままだと新しいフォントがまったく使用できません。たすけてください。

  • フォントのインストール

    新しいフォントをダウンロードしてきて、使おうと思ったのですが、できないんです。 今まではコントロールパネル→フォントをだして、ダウンロードしてきたフォントをドラッグしてぶちこんでたんですが、受け入れなくなってしまいました。 入ってるフォントが多すぎるのかな~と思い減らしたのですが、だめでした。 過去の質問を見て、ファイル→新しいフォントのインストールをやろうと思ったのですが、やりかたがよくわかりません。 お願いします。教えてください。

  • フォントのインストール

    自分でダウンロードしたフォントを、インストールしたいのですがうまくいきません。 コントロールパネル→デスクトップの表示とテーマ→ 関連項目のフォント→ファイル→新しいフォントのインストール とやっているのですが、「フォントの一覧」のところにダウンロードしたものが表示されません。 たぶん、とても初歩的なミスをしているのだと思うのですが・・・。 どうぞよろしくお願いします。

  • XPでフォントがインストールできないです・・・

    コンピュータに新しいフォントを追加するには コントロール パネルのフォントを開き、 [ファイル] メニューの [新しいフォントのインストール] をクリックすれば出来るはずなのに、[新しいフォントのインストール]がでてきません。どうすればいいのですか?

  • マニアッカーズデザインのフォント インストールしたい

    マニアッカーズデザインというサイトでいろいろなフォントをダウンロードできるようなので、ダウンロードしてみたんですが、ファイルを解凍した後、コントロールパネルを開いて「新しいフォントのインストール」を試みようとしても、フォントの一覧に、ダウンロードしたものがありません。 この作業をしないとフォントを使えないようですが、インストールしたことのある方はどのようになさいましたか?

  • Windowsでインストールされるフォント

    Windowsをインストールしたときに、最初からインストールされるフォント(和文、欧文とも)が何であるかを知りたいのですが、ご存知ありませんか?知りたいOSはWindows98以降(98/98SE/ME/NT4.0/2000/XP)です。 よろしくお願いいたします。

専門家に質問してみよう