■37585 / ) |
Re[6]: VB.NET レジストリ参照 |
□投稿者/ 魔界の仮面弁士 (1135回)-(2009/06/25(Thu) 13:55:45)
|
2009/06/25(Thu) 13:57:06 編集(投稿者)
■No37566 (ooo さん) に返信 > 結局以下でいきました。 RegistryKey クラスは IDisposable ですので、 Using wkReg As Microsoft.Win32.RegistryKey = ~ Console.WriteLine( wkReg.GetValue(Name) ) End Using のように、Using ブロックで処理する必要があります。
■No37574 (とっちゃん さん) に返信 > コマンドプロンプトで set と入力するとだらだらと出てくる部分に > ORACLE_HOME=どこぞのパス? > となっているのでしょうか? 設定にもよりますが、Windows 版ではレジストリで指定する仕様になっているため、 環境変数には登録されていないことの方が多いかと思います。
むしろ環境変数 ORACLE_HOME は登録しない事が推奨されている場合さえあるようで、 9i (9.2)のドキュメントには、下記の記述があるのだとか(当方未確認)。 http://winofsql.jp/VA003334/oracle040205003135.htm
なお、10g/11g ではレジストリのキー名が変更されていたかと。 http://otndnld.oracle.co.jp/document/products/oracle11g/111/windows/E05885-04/registry.htm
> もしそうなら、なにもレジストリエディタを一生懸命いじらずとも > System.Environment.ExpandEnvironmentVariables メソッドを使えばいいような気がします。 もし、環境変数に登録されているのだとしたら、VB の場合は、 System.Environment.GetEnvironmentVariable("ORACLE_HOME") の代わりに、 Environ("ORACLE_HOME") と短く書く事ができます。 ただ、当方の環境では環境変数には含まれていなかったため、レジストリからの取得が必要でした。 (Microsoft.Win32.RegistryKey クラスとか、WMI の StdRegProv クラスとか)
|
|