• ベストアンサー

再起動しないでiniファイルの変更を反映したい!

VBで、メールソフトを作成したのですが、iniファイルの変更を反映するにはソフトをいちいち再起動しないと出来ません。 ソフトを再起動しないでiniファイルの変更を反映する方法を教えてください!

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

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

iniファイルの読み書きはAPIを使用していますか? WritePrivateProfileStingは、書き込んだ内容は、処理効率を上げるためすぐにファイルに反映させず、キャッシュに保持しています。 なので、すべての書き込みが終わったら、次のようにWritePrivateProfileString()を呼び出してキャッシュをファイルにフラッシュする必要があります。 WritePrivateProfileString vbNullString, vbNullString, vbNullString, "iniファイル名"

その他の回答 (2)

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.3

iniを自分のプログラム以外で変更したときの反映ということですか? (別アプリや、エディタなど) 別アプリがiniを書き換えた場合なら、ファイル監視が必要です。 エディタで書き換えた場合なら、自分のアプリケーションがアクティブになったタイミングで読み取る方法もあります。 別アプリだけど、自分で作ったプログラムなら、アプリケーション間通信を行って、変更通知することができると思います。 状況によって、最適な方法が異なると思いますが・・・

  • Nutrocker
  • ベストアンサー率19% (9/47)
回答No.1

(1)iniファイル読み込み部分をSUB化する (2)「設定の再読み込み」などのメニューを作る (3)MAIN及び(2)でできたPROCで(1)のSUBを呼ぶ。

関連するQ&A