Un titolo chilometrico (scusate!) per qualche riga di codice che magari sarà utile a qualcuno...

/// <summary>
/// 
Retrieve all files in the specified folder of a repote PocketPC device connected via ActiveSync.
/// </summary>
/// <param name="searchPath">
Remote folder in a PocketPC device.</param>
private void SearchFiles(string searchPath)
{
    Debug.Assert(rapi = 
null);        // member referring to a OpenNETCF.Desktop.Communication.Rapi object
    
Debug.Assert(rapi.Connected);    // Test is PocketPC device is already connected

    
FileList list = rapi.EnumFiles(searchPath + @"\\*");
    
foreach(FileInformation file in list)
    {                
        
if(file.FileAttributes  == 16)        // Is a directory: recursive search...
            
SearchFiles(searchPath + "\\" + file.FileName);    
        
else if(file.FileAttributes  == 32) // Is a file: add to a list...
            
filesPathsList.Add(searchPath + "\\" + file.FileName);
        
else throw new ArgumentException
            ("FileAttributes unknown: " + file.FileAttributes, "file.FileAttributes");
    }
}

Il codice direi che è autoesplicatico, comunque...

Semplicemente, chiamando il metodo SearchFiles e passandogli il path remoto della cartella iniziale da cui recuperare il percorso assoluto dei files (ad esempio "\My Documents" per la cartella Documenti del PocketPC), viene inserito nell'IList filesPathsList il path assoluto di tutti i files presenti nella directory corrente e in tutte le sottodirectory della directory stessa.

Il tip usa l'oggetto RAPI dell'assembly OpenNETCF.Desktop.Communication per la comunicazione via ActiveSync.

powered by IMHO 1.3