I personally think, the best way is to access the same file through SQLite3.
string dbFilePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Google\Drive\sync_config.db");
if (!File.Exists(dbFilePath))
dbFilePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Google\Drive\user_default\sync_config.db");
string csGdrive = @"Data Source="+ dbFilePath + ";Version=3;New=False;Compress=True;";
SQLiteConnection con = new SQLiteConnection(csGdrive);
con.Open();
SQLiteCommand sqLitecmd = new SQLiteCommand(con);
//To retrieve the folder use the following command text
sqLitecmd.CommandText = "select * from data where entry_key='local_sync_root_path'";
SQLiteDataReader reader = sqLitecmd.ExecuteReader();
reader.Read();
//String retrieved is in the format "\?<path>" that's why I have used Substring function to extract the path alone.
Console.WriteLine("Google Drive Folder: " + reader["data_value"].ToString().Substring(4));
con.Dispose();
You can get the SQLite library for .Net from here.
Also add reference to System.Data.SQLite
and include it in your project to run the above code.
To retrieve the user, relpace entry_key='user_email'
from the above code
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…