環境変数を設定する。 [プログラミング]
とあるソフトウェアをインストールしたディレクトリに、パスを通す事になりました。
(インストーラが)デスクトップとスタートメニューにショートカットを作成するのだから、わざわざパスを通す必要なんか無いと思うのですが、どうやらコマンドプロンプトから起動したいという人がユーザに居るらしく、是非やってくれと言う事なのです。
そんな訳で、インストールしたディレクトリをパスに追加する機能をインストーラに仕込むことになりました。
パスを通すと言っても結局は環境変数「PATH
」に追加するだけですから、要は環境変数の設定です。
さて、環境変数の設定方法ですが………。
Windows 9x(Meも多分含む)だと、ブートドライブのルートにある「autoexec.bat
」に環境変数設定コマンドを書くだけです。
「autoexec.bat
」は普通のテキストファイルなので、後はテキストファイルの操作をするだけ。変更後は再起動。凝った事をしなければ簡単です。
ただ、ブートドライブが何処なのかを知る方法が………。
NT系の場合は、環境変数の設定は「autoexec.bat
」には書きません。
(「autoexec.bat
」に書いても有効だという話は聞いたことあるんですけど)
NT系で環境変数を設定しようと思ったら、レジストリをいじることになります。
場所は
HKEY_CURRENT_USER\Environment
と
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
でもって、WM_SETTINGCHANGE
メッセージを投げて変更を通知します。
::SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)"Environment");
まぁ、再起動でも良いんですが。
しかし、GUIなソフトウェアをコマンドプロンプトから使うような人(当然、操作もマウスじゃなくて全てキーボードで行う)は、パスくらい自力で通せると思うんだけどねぇ………。
っていうか、むしろ「余計な事はするな」とか言いそうなんですが。
参考資料:http://www.codeguru.com/Cpp/W-P/win32/tutorials/article.php/c10849
今日の一冊 | |
|
コメント 0