最終更新 2003 10/10
サンプルのダウンロード → API_GetWindowsDirectory.lzh(37k)
全ソースコード
GetWindowsDirectory 関数
対応しているバージョン
95, 98, Me, NT3.1以降, 2000, XP
使用するヘッダとライブラリ
winbase.h
kernel32.lib
|
95〜Meと、NT〜XPとではウィンドウズフォルダの名前が違います。
それから、ウィンドウズをCドライブ以外にインストールしている場合や
レジストリをいじってウィンドウズフォルダを別な名前に変更している
人もいるかも知れません。
そういうことを考慮すると、ウィンドウズのフォルダ名が C:\Windows に
なる保証はありません。
ウィンドウズのインストールされているフォルダを調べるには
GetWindowsDirectory() 関数を使います。
使い方は簡単です。
ウィンドウズのインストールされているフォルダのパスをしまっておく
char 型の配列と、その配列のサイズを引数として渡してあげるだけです。
関数が成功すれば、引数で渡した配列にウィンドウズフォルダのパスが
格納されて返ってきます。
char win_path[MAX_PATH]; //パスをしまう配列
ZeroMemory( win_path, sizeof( win_path ) ); //値をクリア
GetWindowsDirectory( win_path, MAX_PATH ); //Windowsフォルダ取得
上の例だと win_path にウィンドウズフォルダのパスが格納されます。
MAX_PATH には指定できるパスの最大文字列が設定されています。
MAX_PATH が扱えない時は stdlib.h をインクルードしてみて下さい。
|