SSブログ

環境変数を設定する。 [プログラミング]

とあるソフトウェアをインストールしたディレクトリに、パスを通す事になりました。

(インストーラが)デスクトップとスタートメニューにショートカットを作成するのだから、わざわざパスを通す必要なんか無いと思うのですが、どうやらコマンドプロンプトから起動したいという人がユーザに居るらしく、是非やってくれと言う事なのです。

そんな訳で、インストールしたディレクトリをパスに追加する機能をインストーラに仕込むことになりました。

パスを通すと言っても結局は環境変数「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

[車(セダン)] 今日の一冊
ハイペリオンの没落 (海外SFノヴェルズ)

ハイペリオンの没落 (海外SFノヴェルズ)

  • 作者: ダン シモンズ
  • 出版社/メーカー: 早川書房
  • 発売日: 1995/06
  • メディア: 単行本

タグ:Windows
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。