- - PR -
VBアプリケーション内で保持している環境変数について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-12-22 20:16
VB6で作成したアプリケーション内で保持しているウインドウズの環境変数に関する質問です。
WindowsのSYSTEM環境変数を参照し接続先サーバのドメインに接続するというモジュールがあります。 VBアプリケーション内で環境変数を変更することで、そのモジュールによって接続ドメイン先を振り分けたいと思い、下記のような実装をしました。 Set WshShell = CreateObject("WScript.Shell") Set WshEnvironment = WshShell.Environment("System") WshEnvironment.Item("TEST") = it_domain_name しかし、この処理を行った後は、確かにマイコンピュータのプロパティから見る環境変数の値は変わっているのですが、 モジュールが接続ドメインを振り分けようとしません。 どうやらアプリケーションが起動した時の環境変数をみているようです。 そこで質問なのですが、VBアプリケーション内で保持している環境変数を書き換える方法はなにかありますでしょうか? 下手な説明で申し訳ありませんが、どなたかご教授のほどよろしくお願いいたします。 | ||||
|
投稿日時: 2006-12-23 10:55
環境変数を書き換える必要がないように思えるのですが... _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-12-23 23:08
サーバ接続モジュールは環境変数を参照している(そういう仕様)ので、 環境変数を書き換えて、サーバアクセスを制御したいのですが。。 環境変数を書き換える必要がないというのは、ほかに方法があるということでしょうか? | ||||
|
投稿日時: 2006-12-23 23:28
追記で、
多分、下記で取得できる環境変数を書き換えることができればいいと思うのですが、どなたか知っていたら教えてください。 Dim test as String test = Environ("環境変数名") どうぞ宜しくお願い致します。 | ||||
|
投稿日時: 2006-12-23 23:55
環境変数というのは、プロセスを起動する際に親プロセスから子プロセスに渡すものです。
いったん起動されたプロセスの環境変数を変更する手段はありません。 shinさんのプログラム例は、「今後、Shell(explorer)が新たに起動するプロセスに渡す環境変数」を 変更する機能であって、すでに起動されているプロセスには影響を与えません。 | ||||
|
投稿日時: 2006-12-24 22:21
ありがとうございます!
残念です・・・。 |
1