web-dev-qa-db-ja.com

OneDriveデスクトップクライアントフォルダーの場所を検出するにはどうすればよいですか

OneDriveデスクトップクライアントのフォルダーの場所をどのように検出できますか?

this Dropboxの質問に相当するOneDriveを探しています。

編集:これは、Vista/7のデスクトップバージョンと8.1に付属のバージョンの検出に適用されます。

2
Sean Kearon

あなたはマイクロソフトのフォーラムから この投稿 を見ることができます。それを行うには2つの方法があるようです。

.iniファイルとレジストリキーはどちらも、現在、ローカルのSkyDriveフォルダーを取得するための信頼できる方法です。

Registeryキーは、HKEY_CURRENT_USER\Software\Microsoft\SkyDriveUserFolderという名前であります。

// C# sample
String SkyDriveFolder = Registry.GetValue("HKEY_CURRENT_USER\\Software\\Microsoft\\SkyDrive", "UserFolder",null).ToString();

.iniファイルはC:\Users\{username}\AppData\Local\Microsoft\SkyDrive\settingsにあります。

次の手順に従ってください:

  1. ここに存在する単一の.DATファイルの名前を取得します。

  2. .DATファイルと同じ名前(拡張子なし)の.INIファイルを見つけます。これを行う理由は、複数の.INIファイルがありますが、.DATファイルは1つだけであり、必要な.INIファイルと名前を共有しているためです。

  3. この.INIファイルを開き、「library」で始まる最後の行を解析します。この行の最後の部分は、ローカルマッピングパスです。

これがお役に立てば幸いです。