title: How to read files on Android phone from C# program on Windows 7?
body: <p>When I connect my Android phone to my Windows 7 with USB cable, Windows pop-up a window and show me the phone's internal storage at <code>Computer\HTC VLE_U\Internal storage</code> from Windows Explorer. But there is no drive letter linked with this phone storage! Inside Windows Explorer, I can manipulate the file system.</p>
  
  <p>How can I manipulate the same files or folders from C# program?</p>
  
  <p>As I tested,</p>
  
  <pre><code>DirectoryInfo di = new DirectoryInfo(@"C:\"); 
  </code></pre>
  
  <p>works, but </p>
  
  <pre><code>DirectoryInfo di = new DirectoryInfo(@"Computer\HTC VLE_U\Internal storage");
  </code></pre>
  
  <p>failed.</p>
  
  <p>But in Windows Explorer, IT IS <code>Computer\HTC VLE_U\Internal storage</code>! No drive letter!</p>
  
  <p>Yes, this is MTP device.</p>
  
  <p>I see this <a href="https://stackoverflow.com/questions/8072650/programmaticaly-access-files-on-android-device-from-pc">answer</a> in Stack Overflow, but the return results are empty for me after running this code</p>
  
  <pre><code>var drives = DriveInfo.GetDrives();
  var removableFatDrives = drives.Where(
      c=&gt;c.DriveType == DriveType.Removable &amp;&amp;
      c.DriveFormat == "FAT" &amp;&amp; 
      c.IsReady);
  var androids = from c in removableFatDrives
      from d in c.RootDirectory.EnumerateDirectories()
      where d.Name.Contains("android")
      select c;
  </code></pre>
  
  <p>I get correct <code>drives</code>. But android phone's internal storage is not here.
  Both <code>removableFatDrives</code> and <code>androids</code> are empty for me.</p>