maxolo
Messages postés6Date d'inscriptiondimanche 9 octobre 2005StatutMembreDernière intervention 7 septembre 2007
-
28 janv. 2006 à 11:43
chouna19
Messages postés3Date d'inscriptionsamedi 1 mars 2008StatutMembreDernière intervention 9 mai 2010
-
19 mars 2010 à 17:41
Bonjour, je voudrais savoir commment supprimer un fichier (je sais comment le supprimer définitivement) en le passant dans la corbeille.
En fait j'ai essayé delete mais ca supprime définitivement.
Ensuite, j'ai essayé de faire un move dans le dossier caché RECYCLER\122628682-2675-001-1003 par exemple (dossier qui existe dans chaque partition et qui sert à mettre les fichiers supprimé dans la corbeille).
Ca fonctionne : le fichier n'existe plus dans le dossier source. Mais le probleme c'est qu'il n'est pas présent dans le dossier de la corbeille. En fait, il agit comme un delete...
Voila, donc je voudrais savoir comment mettre un fichier dans la corbeille (le supprimer mais pas définitivement).
cs_mathmax
Messages postés403Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention31 août 2008 12 févr. 2006 à 14:11
Bonjour,
Il m'intéresse aussi de pouvoir envoyer un fichier à la corbeille. Je ne trouve pas la dll shell32.dll. Une fois que je l'ai ajouté, SHFileOperation sera t-il directement reconnu ? En fait qu'est ce qu'une API.
J'ai téléchargé le code de coq, mais c'est un programme un peut trop complet pour moi. J'ai juste besoin de pouvoir supprimer un fichier en l'envoyant vers la corbeille.
merci
Mathmax
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_coq
Messages postés6350Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 12 févr. 2006 à 14:37
Salut,
On parle ici de l'API Win32.
shell32.dll n'est pas une assembly managé mais une dll native faisant partie du système. (tu la trouvera dans le répertoire %SystemRoot%\system32)
Tu trouveras l'appel dans la méthode MoveFileToRB, dans le fichier RecycleBin.cs
cs_mathmax
Messages postés403Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention31 août 2008 12 févr. 2006 à 18:17
Quand tu dis "l'appel dans la méthode MoveFileToRB, dans le fichier RecycleBin.cs", tu veux dire dans ton programme ? J'ai en effet trouvé cette fonction dans ton programme, mais si je veux copier dans le mien toute la class RecycleBin il faut assi que je charge RecycleBinMoveResult. Ca fais un peu beaucoup pour un envoyer un fichier à la corbeille. Il y a surement dans ces class des chôses dont je n'ai pas besoin.
Sinon j'ai ajouté la référence shell32, mais ça ne me donne visiblement pas le droit à SHFileOperation (n'est pas reconnu).Que dois-je faire après avoir chargé cette dll ?
cs_coq
Messages postés6350Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 12 févr. 2006 à 18:26
J'ai parler de regarder le code de la méthode et non pas de la prendre.
=> "Tu trouveras l'appel [de SHFileOperation] dans la méthode MoveFileToRB, dans le fichier RecycleBin.cs"
Je ne parlais pas d'ajouter shell32.dll en référence pour que VS génère un wrapper, mais d'utiliser le mécanisme de PInvoke.
cs_mathmax
Messages postés403Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention31 août 2008 12 févr. 2006 à 23:41
Je ne comprends pas. J'ai définis la srucure comme il est indiqué là : SHFILEOPSTRUCT, je l'ai initialisé comme tu me l'as dit, l'ai fais l'appel à la méthode SHFileOperation dont j'ai modifier la définition...et pourtant ça marche toujours pas. En clair ça donne ça :
class
RemoveToRecycleBin
{
[DllImport("shell32.dll")]
public static extern int SHFileOperation( SHFILEOPSTRUCT lpFileOp);
}
mais il ne reconnait pas tous ces derniers attributs.
Je dois avouer que sur ce coup là C# me déçois. Ca me parait tellement compliqué de faire une chose aussi élémentaire que d'envoyer un fichier à la corbeille...