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

Delphi Discussion :

Répertoire caché


Sujet :

Delphi

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Répertoire caché
    Bonjour à tous,

    j'aimerais activer l'option 'Ne pas afficher les fichiers cachés'
    qui se trouve dans:
    Poste de Travail -> menu 'Affichage' -> Option des dossiers...
    via delphi mais je ne vois pas comment faire...

    autre qestion:
    Comment changer le status d'un répertoire (pas d'un fichier) pour le
    passer en répertoire Caché.

    Merci d'avance pour vos réponses.

    Yann.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 13
    Points : 15
    Points
    15
    Par défaut
    Pour ta deuxième question, voici ce que tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    DirName := 'c:\TonRepertoire';
    DirAttr := FileGetAttr(DirName);      // Le statut du répertoire se retrouve dans DirAttr
     
    // Si FileGetAttr ne retourne pas d'erreur et que le répertoire n'est pas déjà caché
    if DirAttr or faHidden > DirAttr then
        FileSetAttr(DirName, DirAttr or faHidden);
    DirName est de type string
    et DirAttr de type integer

    Testé avec Delphi5 / Windows98

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 13
    Points : 15
    Points
    15
    Par défaut
    Pour ta première question, il est possible de passer par le registre.
    Voici une petite procédure que tu peux ajuster selon tes besoins.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    procedure ChangeHiddenFilesOptions;
    const
      HIDDEN_FILES_CODE = 2;
      // 0 : Do not show hidden or system files
      // 1 : Show all files
      // 2 : Do not show hidden files
    var
      TheRegistry: TRegistry;
     
    begin
      TheRegistry := TRegistry.Create;
      try
        TheRegistry.RootKey := HKEY_CURRENT_USER;
        if TheRegistry.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced', False) then
        begin
          try
            TheRegistry.WriteInteger('Hidden', HIDDEN_FILES_CODE);
          finally
            TheRegistry.CloseKey;
          end;
        end;
      finally
        TheRegistry.Free;
      end;
    end;
    C'est tout ce que j'ai trouvé pour le moment.
    (Delphi5 / Windows98)

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Merci !!
    Merci pour tes réponses,
    c'est exactement ce que je cherchais :)

    Yann.

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 9
    Points : 11
    Points
    11
    Par défaut Mascotte
    Bonjour,

    Oui, cela marche, mais comment après avoir modifier la clé dans la base de registre, actualiser le répertoire qu'on veut cacher, on doit cliquer sur le bouton actualiser afin que ce dernier se cachera, avez-vous SVP une solution afin d'automatiser ceci ?
    Je vous remercie.

  6. #6
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 292
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 292
    Points : 1 944
    Points
    1 944
    Par défaut
    Peut-être voir du côté des messages de type FM_ (comme FM_REFRESH_WINDOWS, sinon la liste des messages windows: http://windowssdk.msdn.microsoft.com...16(VS.80).aspx)

    c'est juste une piste.

  7. #7
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 930
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 930
    Points : 15 375
    Points
    15 375
    Par défaut
    Salut !
    Comment changer le status d'un répertoire (pas d'un fichier) pour le
    passer en répertoire Caché.
    En termes de sécurité informatique, ça c'est vraiment pas malin !
    Pour prendre une image, je dirais que ça reviendrait à monter en bagnole et ne pas attacher sa ceinture, et en plus se mettre un bandeau sur les yeux avant de démarrer, après un « 'tit dernier pour la route » !
    Perso, quand je vais diagnostiquer la machine de quelqu'un, la première chose que je fais est de réactiver cet affichage (s'il était inactif), et si après un reboot l'option est revenue je cherche le prog coupable et j'explique à l'utilisateur qu'un prog qui veux cacher un dossier a des trucs à cacher, et donc il faut me virer tout de suite ce truc-là !
    Mes 2 cts,
    --
    jp

  8. #8
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 9
    Points : 11
    Points
    11
    Par défaut Mascotte
    Bonjour,

    Merci pour la réponse, mais c'est pas vraiment clair, pouvez-vous SVP m'orienter plus ?

    Merci.

  9. #9
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 930
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 930
    Points : 15 375
    Points
    15 375
    Par défaut
    Merci pour la réponse, mais c'est pas vraiment clair
    Ben ça non plus, ça n'est pas clair !
    C'est quoi, là, la question ?
    • sécurité informatique, ou
    • l'art et la manière de faire des bêtises ?

    --
    jp

  10. #10
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 9
    Points : 11
    Points
    11
    Par défaut Mascotte
    Désolé, mais ma question est destinée à Mr Linkin

  11. #11
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 292
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 292
    Points : 1 944
    Points
    1 944
    Par défaut
    Il y a un exemple sur MSDN pour FM_REFRESH_WINDOWS. Sinon je ne sais pas trop, c'est comme les messages habituels de Windows, il faut utiliser SendMessage ou PostMessage.

    Je n'ai rien de plus précis à apporter.

  12. #12
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 81
    Points : 86
    Points
    86
    Par défaut
    Citation Envoyé par Jipété
    Salut !

    Perso, quand je vais diagnostiquer la machine de quelqu'un, la première chose que je fais est de réactiver cet affichage (s'il était inactif), et si après un reboot l'option est revenue je cherche le prog coupable et j'explique à l'utilisateur qu'un prog qui veux cacher un dossier a des trucs à cacher, et donc il faut me virer tout de suite ce truc-là !
    +1 Sinon oui.. je pense que la seule manière c'est envoyer un message à la fenêtre a rafraichir. PostMessage avec le message de demande de rafraichissement (un truc comme WM_REFRESH )

    Sinon: Utiliser delphi pour faire des programmes qui se cachent c'est mAAAl joke

  13. #13
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 582
    Points : 915
    Points
    915
    Par défaut
    Pour avertir le systeme d'un changement dans la base
    de registre... essaie ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);

  14. #14
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par Eric Boisvert
    Pour avertir le systeme d'un changement dans la base
    de registre... essaie ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);
    Oui le BroadCast est sûrement la solution, mais j'aurais tendance à plutôt utiliser un PostMessage à la place d'un SendMessage afin de ne pas attendre la fin de la diffusion du message.

    @+ Claudius

  15. #15
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 9
    Points : 11
    Points
    11
    Par défaut Mascotte
    Bonsoir,

    Désolé, mais comment raffraichir une fenêtre celle où se trouve le fichier en question afin qu'il soit invisible, car avec ceci ça pas marché !

    Merci.

  16. #16
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 9
    Points : 11
    Points
    11
    Par défaut Mascotte
    Bonjour,

    Je pense que je dois être plus clair que ça !

    Au fait, g inséré en premier lieu un code permettant de changer le propriété de mon ficher en le rendant caché, puis g activé l'option cacher les fichiers cachés, via la base de registre par prorgamme aussi, mais lorsque cette dernière option change le fichier que g créé reste toujours visible mais en mode caché...alors, comment faire pour le rendre invisible sans pour autant cliquer sur le bouton actualiser de la fenêtre d'explorateur...je veux que ça soit automatique, voilà !

    Je vous remercie

    Mascotte.

  17. #17
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 9
    Points : 11
    Points
    11
    Par défaut Mascotte
    Bonjour,

    Comment récupérer le chemin d'une fenêtre en conaissant son handle ?

    Merci.

  18. #18
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Points : 711
    Points
    711
    Par défaut
    Bonjour,
    Citation Envoyé par Jipété
    j'explique à l'utilisateur qu'un prog qui veux cacher un dossier a des trucs à cacher, , et donc il faut me virer tout de suite ce truc-là !
    Je suis d'accord, mais alors, on peut conclure que Windows ET Linux et autres systèmes (qui ne sont jamais que des programmes particuliers) ont beaucoup de truc à cacher.
    Donc ==> il va falloir se passer d'OS. Dur dur !

  19. #19
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 9
    Points : 11
    Points
    11
    Par défaut Mascotte
    Bonjour,

    Comment récupérer le chemin d'une fenêtre en conaissant son handle ?

    Merci.

  20. #20
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 292
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 292
    Points : 1 944
    Points
    1 944
    Par défaut
    La question n'a aucun sens.

    Une fenêtre n'a pas de chemin. Une application oui.
    C'est le chemin d'une application externe que tu cherches? Quel est le but?

    Expliquer le but peut permettre aux autres de proposer une meilleure solution.

Discussions similaires

  1. Comment supprimer tous les répertoires cachés ?
    Par raton_laveur dans le forum Windows XP
    Réponses: 2
    Dernier message: 13/01/2009, 12h36
  2. SelectDirectory et répertoires cachés
    Par BRODU dans le forum Composants VCL
    Réponses: 7
    Dernier message: 02/08/2008, 19h01
  3. Affiché un répertoire caché
    Par Pikouse dans le forum Eclipse Platform
    Réponses: 0
    Dernier message: 14/04/2008, 11h25
  4. Copie d'un fichier caché vers un répertoire donné
    Par Olivier Regnier dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 14/06/2007, 13h09
  5. [C#]Folder tree view et fichier/répertoire caché
    Par bilb0t dans le forum Windows Forms
    Réponses: 5
    Dernier message: 02/02/2006, 16h46

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