2016-06-23 6 views
1

Pour une application Windows Store: comment puis-je détecter si un StorageFile a été renommé ou supprimé en dehors de mon application alors qu'il est ouvert dans mon application?Comment puis-je détecter si un StorageFile a été renommé ou supprimé dans une application UWP?

J'ai une application Windows 10 UWP en cours d'exécution sur le bureau. L'application permet à l'utilisateur d'ouvrir et d'éditer des documents.

choses que j'ai essayé:

  • Vérification DateModified:
    • J'ai essayé de vérifier storageFile.GetBasicPropertiesAsync().DateModified, mais même ce que je supprimer le fichier et vider la corbeille, l'appel retourne avec succès avec le (ancien) DateModified. (Je suppose qu'il utilise un en mémoire la version et ne vérifie pas le fichier sur le disque)
  • Réouvrir le StorageFile:
    • J'ai ensuite essayé de « rouvrir » le fichier en utilisant StorageFile.GetFileFromPathAsync(file.Path). Cela a correctement lancé un FileNotFoundException la première fois.
    • Toutefois, plus tard, cela a échoué avec une exception Unauthorized access/permission denied. Cela a du sens, car j'ai besoin que l'utilisateur sélectionne le fichier dans un FileOpenPicker pour que mon application obtienne l'autorisation de l'utiliser.
  • Surveiller le dossier parent:
    • N'a pas loin avec celui-ci. J'ai essayé d'utiliser StorageFolder.CreateFileQuery(), mais je ne peux pas accéder au dossier parent forment l'instance StorageFile (encore une fois, il est logique, parce que mon application n'a pas l'autorisation d'accéder au dossier parent)

Répondre