17

Windows オペレーティング システムでメイン ハードディスクのドライバ レターを見つけるにはどうすればよいですか?

つまり、、、などのドライブProgram FilesですSystem32

4

4 に答える 4

29

システムドライブに設定されているという環境変数がありますSystemDrive(驚くべきことに)。呼び出しは、getenv()あなたがそれに到達する方法です。

char *sysDrive = getenv ("SystemDrive");
if (sysDrive == NULL) {
    // vote me down.
} else {
    // vote me up and use it.
}

このページには、システム ドライブに存在する特定のディレクトリに依存できない場合に使用できる環境変数が多数リストされています。

または、Windows API 呼び出しSHGetSpecialFolderPath()を使用して、正しいCSIDLを渡します。次に、環境変数に依存する必要はありません。

これらのページでは、これが Vista の他の関数に取って代わられたことに注意してください (この関数は新しい関数のラッパーになるため、引き続き機能するはずです)。

于 2009-05-01T05:20:52.900 に答える
5

API 呼び出しGetWindowsDirectoryが役立つ場合があります。ドライブ文字情報を解析する API を使用して、この情報をさらに解析できます。

于 2009-05-01T05:20:52.790 に答える
2

システムドライブ

プログラムファイル

システムルート

WINDIR

Program Files が Windows と同じドライブにあると想定しないでください。通常はそうです。いつもの。

于 2009-05-01T05:28:21.900 に答える