プロが教えるわが家の防犯対策術!

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

A 回答 (3件)

iniファイルの読み書きはAPIを使用していますか?



WritePrivateProfileStingは、書き込んだ内容は、処理効率を上げるためすぐにファイルに反映させず、キャッシュに保持しています。

なので、すべての書き込みが終わったら、次のようにWritePrivateProfileString()を呼び出してキャッシュをファイルにフラッシュする必要があります。

WritePrivateProfileString vbNullString, vbNullString, vbNullString, "iniファイル名"
    • good
    • 0

iniを自分のプログラム以外で変更したときの反映ということですか?


(別アプリや、エディタなど)

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

状況によって、最適な方法が異なると思いますが・・・
    • good
    • 0

(1)iniファイル読み込み部分をSUB化する


(2)「設定の再読み込み」などのメニューを作る
(3)MAIN及び(2)でできたPROCで(1)のSUBを呼ぶ。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!