動作確認環境: Visual Studio 2010、Windows 7

執筆者: 日本マイクロソフト株式会社 デベロッパー エバンジェリスト 田中達彦


Program Files フォルダーの位置 (パス) は、Windows のバージョンによって違うことがあります。フォルダーの位置を文字列で指定してしまうアプリケーションを作成すると、そのアプリケーションは別のバージョンの Windows 上で動作しない可能性があります。フォルダーの位置を取得するには、ここで紹介する方法をご使用ください。

このサンプル プログラムを動かすには、まず Visual Studio で Win32 コンソール アプリケーションのプロジェクトを作成します。[Win32 アプリケーション ウィザード] では、そのまま [完了] ボタンをクリックします。生成される C++ のソース コードを下記プログラムに変更し、実行してください。

C++
#include "stdafx.h" 
#include "windows.h" 
#include "shlobj.h" 
 
int _tmain(int argc, _TCHAR* argv[]) 
{ 
    // フォルダーの位置を入れるためのバッファ 
    TCHAR programFilesFolder[MAX_PATH]; 
 
    // フォルダーの位置の取得 
    SHGetFolderPath(NULL, CSIDL_PROGRAM_FILES, NULL, NULL, programFilesFolder); 
 
    // メッセージ ボックスにフォルダーの位置を表示 
    MessageBox(NULL, programFilesFolder, _T("フォルダーの位置"), MB_OK); 
 
    return 0
}

上記のプログラムを実行すると、メッセージ ボックスに Program Files フォルダーの位置を表示します。


Code Recipe Code Recipe

ページのトップへ