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

VB 6 et antérieur Discussion :

Une extension personnelle comme executable


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 41
    Par défaut Une extension personnelle comme executable
    Bonsoir
    Bon, je pense que mon problème est un peu flou, mais bon, je v ais éssayer de tout expliquer.
    Bref, je veux savoir comment pourrais-je rendre une extension perso dans la liste des extensions executables, par defaut, y'a juste les .exe, .bat et .com, qui sont executables, peut etre y'en a d'autres, mais pour ajouter une extension à ceux là , j'en sais pas comment faire.
    Ainsi, quand je serrais la méthode, je peux peut etre créer un petit programme qui peut rendre cela possible avec un seul clique.
    J'éspére que c'était claire, et que quelqu'un en a une idée.

    Merci à vous

  2. #2
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Pour être clair, seuls les exe, les com sont des exécutables. Lors que , dans 'explorateur, tu doubles clique sur un fichier, windows cherche dans sa base de registre s'il connait l'extension de ce fichier, si oui, il sait, par cette même base de registre qu'el executable il doit lancer, et la façon de lui passer les parametres.

    En vb c'est pas simple de tripatouiller la base de registre, mais c'est faisable.
    Le mieux , si tu ne dois traitre qu'une machine, c'est de le faire par l'explorteur windows. click droit sur ton fichier. et de repondre aux questions que poses windows quand il s'appercoit qu'il ne peut pas trouver l'executable a lancer.

  3. #3
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 41
    Par défaut
    Bonjour
    effectivement, il s'agit de la base de registre, moproblème à moi,c'est que je veux pas rendre une extension ouvreable par une application, mais plutôt chaner dans la base de registre pour que mon extension peut etre traitée comme un fichier executable en elle même.
    Je précise que j'ai déjà rencontrer ce cas dans un trojan qui s'appel Net-Devil, il permet au fait de générer un executable, mais aussi de lui donner l'extension qu'on veut, et lui il se charge de modifier la base de registre pour que l'extension qu'on a choisi soit reconnue comme un fichier executable.

    Bref, j'espere etre claire
    Merci à vous

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Par défaut
    J'ai bien une idée ...

    Mettons que ta fameuse extension concerne des fichiers de type 32bits, (librairie par exemple)
    Il faut que tous les fichiers de cette extension se lancent par la même méthode (sub Main par exemple)

    Il faut alors faire 2 choses :

    1) un exécutable bidon dans programme files, ayant comme main :
    "c:\windows\system32\rundll32.exe" command,Main

    2) associer l'extension que tu souhaites rendre exécutable avec l'exe bidon (ça je suis sur qu'on peut le faire avec une api)

    Dès que tu double cliqueras sur un fichier de l'extension voulue, il lancera le 1° exe avec en ligne de commande le chemin du fichier double cliqué.
    Alors, la commande rundll32.exe cherchera le sub "Main" dans le fichier, représenté par la valeur de la ligne de commande "command"

    Je pense que ça doit marcher.

  5. #5
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 41
    Par défaut
    Ca peut etre une solution, mais un petit peu compliquée et nécessite l'utilisation de Rundll32.dll ..etc sauf que je sais bien qu'il suffit de modifier quelque chose dans la base de registre pour que tout marche

  6. #6
    Membre Expert
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Par défaut
    Modifier la base de registre te permet juste d'attribuer une extension à un programme, pas d'attribuer une commande à un programme!

    pour attribuer une extension, tu à cette excellente source:http://vb.developpez.com/sources/?pa...ne#newfiletype (prend créer un nouveau type de fichier en bas)

    sinon, si tu veux vraiment les lancer comme des exe, tu peut créer une extension à laquelle tu attribues un second programme qui rennomera l'extension et lancera le programme passé en commande.

    bonne chance

  7. #7
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 540
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 540
    Par défaut
    Citation Envoyé par NiGHtyWolf
    Bonjour
    effectivement, il s'agit de la base de registre, moproblème à moi,c'est que je veux pas rendre une extension ouvreable par une application, mais plutôt chaner dans la base de registre pour que mon extension peut etre traitée comme un fichier executable en elle même.
    Ce qui est décrit point par point là c'est le role d'une dll Active X: nouveau projet , choisir Dll Active X.
    Une dll Active X c'est un composant ( COM) qui s'interface avec n'importe quel programme sous Windows ( même développé en C++, Delphi et autres ) et qui possède un identifiant dans la base de registres ( un GUID exactement )

Discussions similaires

  1. Réponses: 8
    Dernier message: 24/04/2008, 01h00
  2. creer une extension pour exchange
    Par simoryl dans le forum C++
    Réponses: 2
    Dernier message: 23/03/2005, 11h47
  3. Associer un type MIME à une extension.
    Par Olivier_ dans le forum Réseau/Web
    Réponses: 6
    Dernier message: 13/03/2005, 14h48
  4. [windows]associer une extension à un exécutable ..
    Par peppena dans le forum Windows
    Réponses: 2
    Dernier message: 01/06/2004, 18h25
  5. Inserer une page HTML comme une boite!
    Par thief dans le forum MFC
    Réponses: 4
    Dernier message: 16/01/2004, 21h13

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