Programmatisch den OneDrive-Ordner ermitteln

Im Artikel „Programmatisch den Dropbox-Ordner ermitteln“ habe ich beschrieben, wie Ihr den lokalen Dropbox-Ordner auf Eurem PC per Code ermitteln könnt.

Das gleiche geht auch für Microsofts OneDrive (früher „SkyDrive“ genannt):

private static string getOneDriveFolderPath()
{
    var value1 = Registry.GetValue(
        @"HKEY_CURRENT_USER\Software\Microsoft\SkyDrive", 
        @"UserFolder", null);

    var path1 = value1 as string;
    if (path1 != null && Directory.Exist(path1)) return path1;

    var value2 = Registry.GetValue(
        @"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\SkyDrive",
        @"UserFolder", null);

    var path2 = value2 as string;
    if (path2 != null && Directory.Exists(path2)) return path2;

    var value3 = Registry.GetValue(
        @"HKEY_CURRENT_USER\Software\Microsoft\OneDrive",
        @"UserFolder", null);

    var path3 = value3 as string;
    if (path3 != null && Directory.Exists(path3)) return path3;

    return null;
}

Auch diesen Code habe ich angelehnt an einen Stack-Overflow-Artikel aufgebaut.

Siehe dazu außerdem mein Artikel „Programmatisch den Google-Drive-Ordner ermitteln“.