プログラミングのメモ帳(C/C++/HSP)

日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP)

システム・ディレクトリの取得

2007年09月24日 07時31分19秒 | ディレクトリ関連

システムのディレクトリとして次のようなものがあります。(戻る)

  1. テンポラリ・ディレクトリ(GetTempPath)
  2. カレント・ディレクトリ(GetCurrentDirectory)
  3. システム・ディレクトリ(GetSystemDirectory)
  4. Windowsディレクトリ(GetWindowsDirectory)
  5. 共有Windowsディレクトリ(GetSystemWindowsDirectory)

シングルユーザのシステムでは(4)(5)は同じになります。

プロトタイプ宣言

DWORD GetTempPath(
    DWORD   dwSize,     // バッファ容量
    LPTSTR  lpBuff      // バッファ領域
);

DWORD GetCurrentDirectory(
    DWORD   dwSize,     // バッファ容量
    LPTSTR  lpBuff      // バッファ領域
);

UINT GetSystemDirectory(
    LPTSTR  lpBuff,     // バッファ領域
    UINT    uSize       // バッファ容量
);

UINT GetWindowsDirectory(
    LPTSTR  lpBuff,     // バッファ領域
    UINT    uSize       // バッファ容量
);

UINT GetSystemWindowsDirectory(
    LPTSTR  lpBuff,     // バッファ領域
    UINT    uSize       // バッファ容量
);

サンプル

#include <stdio.h>
#include <windows.h>

// メイン関数
int main( void )
{
    TCHAR szPath[ 5 ][ MAX_PATH ];
    
    // システムのディレクトリ取得
    GetTempPath( MAX_PATH, szPath[0] );
    GetCurrentDirectory( MAX_PATH, szPath[1] );
    GetSystemDirectory( szPath[2], MAX_PATH );
    GetWindowsDirectory( szPath[3], MAX_PATH );
    GetSystemWindowsDirectory( szPath[4], MAX_PATH );
    
    // システムのディレクトリ情報
    printf( TEXT("システムのディレクトリ情報\n") );
    printf( TEXT("\n") );
    printf( TEXT(" テンポラリ・ディレクトリ:%s\n"), szPath[0] );
    printf( TEXT("   カレント・ディレクトリ:%s\n"), szPath[1] );
    printf( TEXT("   システム・ディレクトリ:%s\n"), szPath[2] );
    printf( TEXT("     Windows ディレクトリ:%s\n"), szPath[3] );
    printf( TEXT("共有 Windows ディレクトリ:%s\n"), szPath[4] );
    return 0;
}

実行結果

システムのディレクトリ情報

 テンポラリ・ディレクトリ:C:\DOCUME~1\MASAKI\LOCALS~1\Temp\
   カレント・ディレクトリ:C:\Documents and Settings\MASAKI\My Documents
   システム・ディレクトリ:C:\WINDOWS\system32
     Windows ディレクトリ:C:\WINDOWS
共有 Windows ディレクトリ:C:\WINDOWS
  • 上記のMASAKIはユーザ名などが入ります。

その他

  • GetTempPathGetCurrentDirectoryとそれ以外の関数では引数の指定が異なります。ご注意。

関連記事



コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ドライブのボリューム名を設定 | トップ | ユーザ・プロファイルの取得 »
最新の画像もっと見る

コメントを投稿

ディレクトリ関連」カテゴリの最新記事