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

Langage Delphi Discussion :

extraction fichier


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 35
    Par défaut extraction fichier
    salut,

    j'ai suivi ce tutoriel de delphicool : http://delphicool.developpez.com/tut/utiliz_ressources/

    de manière à extraire un fichier exécutable.

    ça marche nikel, merci à lui

    maintenant, lors de l'extraction du fichier, est-il possible de choisir l'icone du fichier en question ??

    merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 35
    Par défaut
    toujours pas d'idée ??

  3. #3
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    l'icone du fichier en question ... je comprend pas vraiment ...
    Tu veux parler de l'icone de l'exécutable ? si c'est ça, sache que son icone lui est propre : un exe aura toujours la même icone, tant qu'on en change pas explicitement c-à-d que pour changer son icone il faut modifer ses propres ressources ( traditionnellement sous Delphi, il y a une antrée MAINICON dans les resources de l'exe ).

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 35
    Par défaut
    et bien avec delphi y a-t-il un moyen de modifier l'icone d'un fichier ??

  5. #5
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    donc c'est pas un exe ...
    Par exemple changer l'icone d'un fichier txt ? ( soit plus précis )

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    893
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 893
    Par défaut
    à mon avis il veut changer l'icone d'un exe

    ton exe en question tu le prends ou ? tu l'as codé toi même (en delphi) ou alors tu le prends n'importe ou ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 35
    Par défaut
    codé moi même en delphi
    et si il y a une solution pour les codé n'importe ou je veux bien la connaitre aussi

  8. #8
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 491
    Par défaut
    salut

    si tu veut chnger l'icone de ton application avant compilation pour que celui-ci
    s'affiche dans windows regarde les option de projet
    meun projet | Option onglet application

    par contre si tu veut qu'un type de fichier soit associer a ton appli

    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
    26
    27
    28
    29
    30
    31
    32
    procedure Associ(Nameapplication,ext: string; DefaultKey: string);
    var
      Registre: TRegistry;
      s: string;
      stapp : string;
    begin
       // Pour s'ajouter au menu contextuel de l'extension
       Registre := TRegistry.Create;
       try
         Registre.RootKey := HKEY_CLASSES_ROOT;
         Registre.OpenKey('\' + ext, true);
         s := Registre.ReadString('');
         if Length(s) = 0 then
         begin    // Si le type n'est pas enregistré
             s := DefaultKey;
             Registre.WriteString('', s);
         end;
         if not Registre.KeyExists('\' + s + '\DefaultIcon') then
         begin
            Registre.OpenKey('\' + s + '\DefaultIcon', true);
            Registre.WriteString('', ParamStr(0) + ',0'); 
         end;
         stapp :=format('\%s\Shell\%s',[s,Nameapplication])
         Registre.OpenKey(stapp, true);
         Registre.WriteString('', Nameapplication);
         stapp :=format('\%s\Shell\%s\Command',[s,Nameapplication])
         Registre.OpenKey(stapp, true);
         Registre.WriteString('', '"' + ParamStr(0) + '" "%1"');
       finally
         Registre.Free;
       end;
    end;
    utilisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     RegisterExt('DELPHI''.pas', 'PASFile');
    @+ Phil

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 35
    Par défaut
    merci anapurna

    mais ici l'icone changera pour tout les executables, moi je veux ne changer que celle d'un fichier

  10. #10
    bjl
    bjl est déconnecté
    Membre chevronné Avatar de bjl
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : Brésil

    Informations forums :
    Inscription : Décembre 2002
    Messages : 263
    Par défaut
    Bonjour, pas très clair tout çà.....


    petit rappel

    Fichier exe : icone contenu dans l'exe
    Fichier type .doc, .txt : icone attribué par association à un fichier exe. ou .ico (l'association est faite dans le registre). => partie 2 de la réponse d'Anapurna


    Coté fichier exe : si tu es l'auteur de l'application, ouvre la sous delphi, à partir du menu : Projet/options onglet application : bouton LoadIcon. => partie 1 de la réponse d'Anapurna

    si tu n'es pas l'auteur de l'application, je ne crois pas que l'auteur soit d'accord pour que tu changes l'icone. Si tu en es l'auteur pourquoi faire compliqué en extrayant l'executable alors que delphi permet de le faire à partir des sources ?

  11. #11
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    Citation Envoyé par bjl
    Bonjour, pas très clair tout çà.....
    A l'avenir merci d'énoncer clairement le problème rencontré.

    Au cas où pour modifier l'icone de l'application
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      //Modifie l'icône de l'application
           With Application do
            Icon.Handle := ExtractIcon(Handle,Pchar(ExeName),1);
    Ajouter l'icone dans un fichier Ascii MonIcone.rc
    MonIcone ICON AutreIcone.ico
    Le compiler avec Brcc32.exe et ajouter la directive suivante dans le .dpr

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 35
    Par défaut
    Au cas où pour modifier l'icone de l'application
    Code:
    //Modifie l'icône de l'application
    With Application do
    Icon.Handle := ExtractIcon(Handle,Pchar(ExeName),1);
    salut

    est-ce que vous pourrier m'en dire plus sur la maniere qui permet de modifier l'icone d'une application ?

    merci

    j'ai deja vu ce code sur des sites mais ils mettent qu'il ne sert qu'a extraire l'icone d'un fichier

  13. #13
    Membre chevronné

    Inscrit en
    Avril 2003
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 284
    Par défaut
    Tu peux parfaitement modifier l'icone d'un executable en le patchant (si ton executable n'est pas crypté ou packé)...
    J'avais déjà fait celà pour un petit tool à usage privé...
    Pour ne pas avoir à modifier le PE de l'executable cible et pour que ceci reste simple, je te conseille tout d'abord de verifier quel est le format exact de l'icone de l'executable cible : taille et resolution : par exemple 32*32 en 256 couleurs... Tu peux l'extraire avec l'outil resource Hacker d'Angus Johnson.

    Crée ensuite à l'aide d'un outil spécialisé (Microangelo par exemple) différentes icones ayant les memes caractéristiques en taille et résolution que l'icone du fichier cible.

    Je vais t'expliquer la marche à suivre sans te donner du tout fait, c'est à mon sens bien plus enrichissant.
    La technique consiste à etudier dans un editeur hexa (en comparant le fichier icone extrait et l'exe cible) l'endroit précis ou l'icone est incluse dans l'executable... Je te laisse regarder ce n'est pas très dur à trouver...

    Tu remarqueras aussi que l'icone incluse dans l'executable est légèrement différente du fichier.ico extrait : quelques octets en moins au debut...

    à toi d'enlever le meme nombre d'octets à tes icones neuves, de les inclure dans ton exe patcheur en tant que tableaux de bytes par exemple, puis à patcher ton exe cible à l'endroit voulu byte par byte avec les nouvelles valeurs.

    ce n'est pas très difficile et ça marche très bien...

    Je te laisse découvrir tout celà...

    Clandestino

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 35
    Par défaut
    ça a pas l'air simple

    donc si je comprends bien, tu vas chercher dans le code hexa ou se trouve l'icone, et tu vas remplacer ce code par celui d'une autre icone ?

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    893
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 893
    Par défaut
    en faite ce qu'il veut faire c'est exactement ce que ressource hacker fait

    lorsqu'on utilise l'option remplace icon

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 35
    Par défaut
    et je devrais inclure RH dans mon programme ?

  17. #17
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    extrait du code source d'Inno Setup ( je ne me souvient plus de la version ) :
    http://smyley.developpez.com/forum_e...pResUpdate.pas
    http://smyley.developpez.com/forum_elements/VerInfo.pas
    http://smyley.developpez.com/forum_elements/Version.inc

    Tu pourrais t'en inspirer

  18. #18
    Membre chevronné

    Inscrit en
    Avril 2003
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 284
    Par défaut
    ça a pas l'air simple
    Et ce n'est rien par rapport à ce que resource hacker fait!
    Car lui est capable de mettre une icone de taille différente, donc de modifier la table des resources, et eventuellement la taille de l'executable... bref l'ecriture d'un outil comme reshacker demande de connaitre parfaitement la constitution d'un executable window et s'apparente plus à l'ecriture d'un véritable compilateur qu'à celle d'un tout simple patcheur (comme ce je te l'ai expliqué précédemment)...
    Bref, modifier un programme compilé est souvent bien plus complexe que d'en ecrire un et le compiler soi meme...

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 35
    Par défaut
    et serait-il possible d'inclure ressource hacker dans mon application?

Discussions similaires

  1. Extraction fichier .pdf d'un CLOB
    Par merssemic dans le forum SQL
    Réponses: 7
    Dernier message: 13/11/2007, 17h21
  2. [debutant] extraction fichier log. Pourquoi 1 sur 2 !?!
    Par apprenti doc dans le forum Langage
    Réponses: 9
    Dernier message: 27/03/2007, 12h09
  3. pb extraction fichier plat
    Par ljoly dans le forum SQL
    Réponses: 7
    Dernier message: 01/12/2006, 22h45
  4. [deb]Probleme extraction fichier excel
    Par pouetpouet dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 03/10/2006, 23h03
  5. Extraction fichier Excel - Probleme avec les VbCrLf
    Par oromeyer dans le forum Modules
    Réponses: 3
    Dernier message: 16/02/2006, 19h06

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