- PR -

VBアプリケーション内で保持している環境変数について

1
投稿者投稿内容
shin
会議室デビュー日: 2004/10/05
投稿数: 16
投稿日時: 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アプリケーション内で保持している環境変数を書き換える方法はなにかありますでしょうか?

下手な説明で申し訳ありませんが、どなたかご教授のほどよろしくお願いいたします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-12-23 10:55
引用:

shinさんの書き込み (2006-12-22 20:16) より:

そこで質問なのですが、VBアプリケーション内で保持している環境変数を書き換える方法はなにかありますでしょうか?
下手な説明で申し訳ありませんが、どなたかご教授のほどよろしくお願いいたします。


環境変数を書き換える必要がないように思えるのですが...

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
shin
会議室デビュー日: 2004/10/05
投稿数: 16
投稿日時: 2006-12-23 23:08
引用:

じゃんぬねっとさんの書き込み (2006-12-23 10:55) より:
環境変数を書き換える必要がないように思えるのですが...



サーバ接続モジュールは環境変数を参照している(そういう仕様)ので、
環境変数を書き換えて、サーバアクセスを制御したいのですが。。
環境変数を書き換える必要がないというのは、ほかに方法があるということでしょうか?
shin
会議室デビュー日: 2004/10/05
投稿数: 16
投稿日時: 2006-12-23 23:28
追記で、
多分、下記で取得できる環境変数を書き換えることができればいいと思うのですが、どなたか知っていたら教えてください。

Dim test as String
test = Environ("環境変数名")

どうぞ宜しくお願い致します。
coasm
大ベテラン
会議室デビュー日: 2001/11/26
投稿数: 237
投稿日時: 2006-12-23 23:55
環境変数というのは、プロセスを起動する際に親プロセスから子プロセスに渡すものです。
いったん起動されたプロセスの環境変数を変更する手段はありません。

shinさんのプログラム例は、「今後、Shell(explorer)が新たに起動するプロセスに渡す環境変数」を
変更する機能であって、すでに起動されているプロセスには影響を与えません。

shin
会議室デビュー日: 2004/10/05
投稿数: 16
投稿日時: 2006-12-24 22:21
ありがとうございます!
残念です・・・。
1

スキルアップ/キャリアアップ(JOB@IT)