トップページ ソースコードライブラリ Borland C++ Compiler 5.5
システムフォルダの取得
レジストリからシステムフォルダを取得する方法を説明しています。
サンプルコード
AnsiString __fastcall GetSystemFolder(AnsiString Value)
{
    TRegistry *R = new TRegistry();

    R->RootKey = HKEY_CURRENT_USER;
    AnsiString Res;
    try{
        R->OpenKeyReadOnly("\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders");
        Res = R->ReadString(Value);
        if(1 <= Res.AnsiPos("%USERPROFILE%")){
            char buf[MAX_PATH];
            GetEnvironmentVariable("USERPROFILE",buf,MAX_PATH);
            Res = ReplaceText(Res,"%USERPROFILE%",buf);
        }
    }catch(...){
    }
    if(Res.IsEmpty()){
        try{
            R->OpenKeyReadOnly("\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders");
            Res = R->ReadString(Value);
        }catch(...){
        }
    }
    if(!Res.IsEmpty() && Res[Res.Length()] != '\\'){
        Res += '\\';
    }
    delete R;
    return Res;
}

概要

デスクトップや送るメニューのフォルダを取得する関数。

GetSystemFolder("Desktop")

などと使う。

ナビゲーション
プログラミングは道連れ
ソースコードライブラリ
Borland C++Builder
デバッグ時のみ実行する/しない
タスクアイコンの表示/非表示
ホットキーの登録
バージョン情報の取得
文字列の置換
実行時にFormStyleのStayOnTopを切り替える
JPEGの読み込み
TCppWebBrowser内のHTMLを制御する
JPEG形式で保存
動的にActiveXを作成する(PowerPointの一例)
トップページ ソースコードライブラリ Borland C++ Compiler 5.5