<Return[G]><Top>

GetSystemWindowsDirectory

Declare Function Api_GetSystemWindowsDirectory& Lib "kernel32" Alias "GetSystemWindowsDirectoryA" (ByVal lpBuffer$, ByVal uSize&)

Declare Function GetSystemWindowsDirectory Lib "kernel32" Alias "GetSystemWindowsDirectoryA" (ByVal lpBuffer As String, ByVal uSize As Long) As Long

マルチユーザーシステム上の共有 Windows ディレクトリのパスを取得する。
シングルユーザーシステムの場合、この関数は GetWindowsDirectory 関数と同じである。マルチユーザーシステムの場合、この関数はシステムが使う Windows ディレクトリ(すべてのユーザーが共有する Windows ディレクトリ)のパスを取得する。GetWindowsDirectory 関数は各ユーザーの Windows ディレクトリのパスを取得する。

パラメータ
lpBuffer
    [出力]Windows ディレクトリのパスを表す NULL で終わる文字列を受け取る、バッファへのポインタを指定する。このパスは、Windows 

    ディレクトリがルートディレクトリでないかぎり、円記号では終わらない。たとえば、C ドライブの WINDOWS という名前のディレクトリが

    Windows ディレクトリの場合、この関数で得られる Windows ディレクトリのパスは、C:\WINDOWS になる。システムが C ドライブのルート

    ディレクトリにインストールされている場合は、C:\ が得られる。
uSize
    [入力]lpBuffer パラメータで指定するバッファの最大サイズ(文字数)を指定する。パスの文字列が入るように、この値は少なくとも

    MAX_PATH 文字に設定する。

戻り値
    関数が成功すると、バッファにコピーされた文字列の長さ(文字数)が返る。この長さに終端の NULL 文字は含まれない。
    パスの長さがバッファのサイズより大きいときは、パスを入れるために必要なバッファのサイズが返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、 関数を使う。

解説
    システムの Windows ディレクトリは、アプリケーションがすべてのユーザーに適用する初期化ファイルとヘルプファイルを格納するディレクトリで

    ある。