IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Copier un fichier bloqué car en cours d'utilisation.


Sujet :

C#

  1. #21
    Nouveau membre du Club
    Inscrit en
    Décembre 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    Le MP n'est pas pour cacher la solution.

    C'est juste que je veux pas avoir de soucis, avec les lois françaises où on a pas le droit de contourner des sécurités, je me méfie un peu.

    J'ai continué mes tests avec unlocker, je peux copier le fichier sans que ca coupe l'appli qui l'utilise.

    Et autre info, unlocker donne le numéro du process de l'application qui utilise le fichier.

    Je pense qu'il indique aussi le thread dans la colonne "attache"

    Mais bon quand je fais un programme qui liste les process et les thread de chaque process, je trouve bien mon process, mais pas mon thread.

  2. #22
    Nouveau membre du Club
    Inscrit en
    Décembre 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    Après plusieurs recherches, la colonne "Attache" de unlocker n'indique ni le nom d'un process, ni celui d'un thread.

    Donc je vois pas ce que ca peut être comme info ???

    @+

    Bon je vais me coucher, car j'ai pas laché mon PC depuis ce matin 8h16

  3. #23
    Nouveau membre du Club
    Inscrit en
    Décembre 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    Euh, c'est encore moi.

    Le numéro de la colonne attache c'est le handle du fichier.

    Mais comment récupère t'on le handle qui verrouille un fichier ?

    @+

  4. #24
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    De toute façon si ton fichier est locké tu ne pourras le copier sans stoper le fichier.
    Pour voir si une pause du process suffit pour que tu puisses copier le fichier, télécharge processXP de SysInternals (hébergé sur un des sites de MS).
    C'est un outils gestionnaire de process (comme le gestionnaire des taches de xp) mais bien meilleur (et plus lisible) que celui d'XP.
    Dans l'interface, en faisant un clique droit sur un process, tu as un menu déroulant qui s'affiche et qui te propose la mise en pose du process.
    Fait le et tente la copie du fichier.
    Si cela marche tu n'auras plus qu'à implémenter un code qui fait cela, sinon c pas la peine de t'embêter.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  5. #25
    Nouveau membre du Club
    Inscrit en
    Décembre 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    Re,

    Merci Ced600,

    J'avais déjà téléchargé cette appli sur telecharger.com.

    Mais en allant sur la page mhébergée par microsoft, j'ai trouvé en lien un autre outil :
    http://technet.microsoft.com/en-us/s.../bb896655.aspx

    Il permet de lister tous les handles.

    En partuculier, avec l'option -p tu peux préciser le nom du process (appli)

    Les numéros de handle sont en Hexa.

    J'ai fait un controle rapide avec unlocker, c'est bien le même numéro de handle (l'un en hexa, l'autre en base10)

    Dans mes programmes d'essai, j'avais essayé sans succès de récupéré la liste des handles d'un fichier en utilisant l'objet FileInfo.

    Donc il doit y avoir d'autre moyens surement en utilisant l'objet System ?

    Une fois que l'on trouve le handle.
    Il y a normalement possibilité de le dupliquer, et là normalement, on serait propriétaire de ce deuxième handle et donc on pourrait simplement modifier les droits et faire la copie ?

    Vous en pensez quoi ?

  6. #26
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 547
    Points : 627
    Points
    627
    Par défaut
    Salut,

    pour ajouter ma petite pierre à l'edifice, j'avais trouvé cet article, comprenant un code en C pour fermer un handle de type File. Bon, c'est plutot velu (structure à gogo + histoire de threading), mais ca pourra peut etre t'aider à copier ton fichier.

    Pour essayer de faire avancer le schmilblik, tu as accès à l'appli qui ouvre le fichier temporaire (le mode d'ouverture, etc ...) ? De meme, ca a deja du etre dit mais tripoter un handle sur une appli exterieur, ca sent bon le crash de l'appli en question. =p

    Bon courage, et tiens nous au courant, si tu trouves une solution (<= interressé !). =)

    edit : aurtaugraf !

  7. #27
    Nouveau membre du Club
    Inscrit en
    Décembre 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par SirJulio Voir le message
    Salut,
    ...
    Bon courage, et tiens nous au courant, si tu trouves une solution (<= interressé !). =)
    Merci, je vais regarder ca aussi.

    Et si je trouve, je publierai ici même.

    C'est bien qu'il y ai des forums et des gens pour s'entraider.

    Je dirais même plus ca réconcilie avec la nature humaine de savoir que des gens pensent à apporter à leur prochain de manière altruiste.

  8. #28
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Je dirais même plus ca réconcilie avec la nature humaine de savoir que des gens pensent à apporter à leur prochain de manière altruiste.
    C'est par ce que tu n'as pas vu certaine de mes réponses
    Enfin tu ne les verras pas les modérateurs font leur travail
    pas sur ce sujet je précise mais sur d'autre

    Nan c'est juste que quand quelqu'un poste un sujet pour avoir un code tout fait sans faire le moindre travail, on s'énerve un peu
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  9. #29
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    Citation Envoyé par ced600 Voir le message
    C'est par ce que tu n'as pas vu certaine de mes réponses
    Enfin tu ne les verras pas les modérateurs font leur travail
    Heuresement !

  10. #30
    Nouveau membre du Club
    Inscrit en
    Décembre 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par ced600 Voir le message
    Nan c'est juste que quand quelqu'un poste un sujet pour avoir un code tout fait sans faire le moindre travail, on s'énerve un peu
    Là où j'en suis arrivé, grace à votre aide, c'est (mais en C, pas en C#) d'arriver à trouver le numéro de handle du fichier qui m'interesse, mais maintenant je bloque.

    Je risque d'être moins répondant jusqu'à dimanche, car visite familiale et comme c'est rare, j'en profite un peu.

    Et merci pour le lien sur les tutoriels et cours de formation pur apprendre la programmation C# c'est juste parfait : http://dotnet.developpez.com/cours/?page=csharp

    A très bientôt et encore merci pour l'aide que vous m'apportez.

  11. #31
    Nouveau membre du Club
    Inscrit en
    Décembre 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par SirJulio Voir le message
    Salut,

    pour ajouter ma petite pierre à l'edifice, j'avais trouvé cet article, comprenant un code en C pour fermer un handle de type File.
    edit : aurtaugraf !
    Merci, en remontant la chaine d'origine de cet article, je suis tombé sur le blog de Ivanlef0u et un de ces articles :
    http://www.ivanlef0u.tuxfamily.org/?p=13

    Il m'a d'ailleurs fournit une analyse. (Super sympa le gars).
    Et surement va rédiger un article qui pourra en intéresser plus d'un.

    Donc je continue d'avancer.
    Je vous tiendrez informé.

    (Sinon, c'est pas en C#)
    @+

Discussions similaires

  1. Savoir si un fichier est déjà en cours d'utilisation
    Par Annaced dans le forum Débuter
    Réponses: 1
    Dernier message: 01/09/2010, 09h41
  2. Copier les fichiers de la base de donnée utilisée
    Par psychosiffleur dans le forum Windows Forms
    Réponses: 8
    Dernier message: 05/03/2010, 15h42
  3. Réponses: 1
    Dernier message: 22/12/2009, 23h23
  4. Copier un fichier bloqué
    Par upkanet dans le forum Windows
    Réponses: 5
    Dernier message: 08/02/2009, 09h34
  5. Détourner une fonction pour copier un fichier en mémoire
    Par Rodrigue dans le forum C++Builder
    Réponses: 6
    Dernier message: 12/11/2003, 08h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo