- 締切済み
VB6.0でシステム環境変数PATHへ、%XXX%設定後、ログオフ以外で反映する方法について
1.OS Windows2000 Professional SP4 2.プログラム VB6.0 3.質問内容 システム環境変数を登録後、ログアウトなしで、反映できない。 MS文書番号104011で、SendMessageTimeoutで、変更を通知しても %XXXX%で、PATHに追加登録した内容が展開されない。 なお、regedt32.exeで、%XXXX%は、REG_EXPAND_SZで登録を確認 4.事象 1)登録内容 プログラムにて、システム環境変数に以下登録 A=C:\tmp <= 新規 AA=%A%\work <= 新規 PATH=現状項目;%A%\tmpi <= 既存へ追加 2)プログラム実施結果 コマンドプロンプトで、確認を行うと、 AA=C:\tmp\work に、展開されているが、 PATH=現状項目;%A%\tmpi と、展開されていない。また、この状態で、C:\tmp\tmpi に、 バッチを作成しC:\から、起動しても、PATHが通っていないため、 「プログラムが見つからない」というエラーがでます。 また、SendMessageTimeoutで、通知しても、コマンドプロンプトから PATHを確認しても、PATH=現状項目;%A%\tmpi となり、展開 されていない。 3)リブートすると、展開されるようです。 ※regedt32で、確認すると、PATHには、現状項目;%A%\tmpi で 登録されています。 5.疑問 リブートせずに、通知させる方法はないでしょうか? 特に、新規に登録したシステム環境変数はOKで、追加で登録したPATHに 反映できないのは、なぜでしょうか? 以上 アドバイスのほど、よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- zzzz0000
- ベストアンサー率68% (127/186)
AAを展開するときには環境変数Aは定義されていたようですが、 PATHを展開するときに環境変数Aが定義されている保障はあるのですか? ログオン時にはA、AA、PATHの順に設定されたようですが、それは保障されていることなのですか?