Ouverture de fichier .exe ? [Résolu]

Signaler
Messages postés
248
Date d'inscription
jeudi 3 février 2005
Statut
Membre
Dernière intervention
22 juin 2008
-
Messages postés
630
Date d'inscription
vendredi 5 mai 2006
Statut
Membre
Dernière intervention
17 février 2007
-
Comme indiquer dans le titre je n'arrive pas a ouvrir un fichier .exe quand j'éssaye, je recoi un texte du genre "MZ|" alors que le fichier est bien plus grand !
Voila mon code :

Dim Canal, Data As String, Taille As Long
Taille = FileLen("C:\monexe.exe")
Data = Space(Taille) 'j'initiallise le buffer
Canal = FreeFile ' pour eviter d'avoir a mettre des #1 ou #2
Open "C:\monexe.exe" For Binary As Canal
Get Canal, , Data
Text1 = Data
Close Canal

Auriez vous une solution ?
Merci d'avance !

6 réponses

Messages postés
630
Date d'inscription
vendredi 5 mai 2006
Statut
Membre
Dernière intervention
17 février 2007

Salut, jrivet te met sur la voie. Un exécutable est plein de caractères dit "non imprimables" (valeur ASCII < 32) donc non affichables dans une textbox.
Pour afficher ce qui peut être affiché de ton exe, il te faut :
- soit remplacer ces caractères par celui de ton choix ou les supprimer
- soit afficher sous forme Hexa

Un exemple (parmi plein d'autres) pour réaliser la 1ère possibilité :

Private Sub Command1_Click()
Dim Canal, Data As String
Dim i As Integer
Canal = FreeFile ' pour eviter d'avoir a mettre des #1 ou #2
Open "C:\monexe.exe" For Input As #Canal
Data = Input(FileLen("C:\monexe.exe"), #Canal)
Close Canal
For i = 1 To 32
Data = Replace(Data, Chr$(i), "")
Next
Text1 = Data
End Sub

Là je remplace par "" mais tu peux mettre autre chose.
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Salut,

Lorsque tu regarde le contenu de la variable Data en mode interprété, tu te rends comptes qu'elle est remplie de caractères chinois et autre caractères que peu être ton textbox n'est pas capable d'afficher

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
Mais Surtout: Règlement 
Messages postés
248
Date d'inscription
jeudi 3 février 2005
Statut
Membre
Dernière intervention
22 juin 2008

Merci mais il y a que 3 caracteres ! si je l'enregistre dans un autre fichier .exe sa ne marche toujours pas !
Messages postés
99
Date d'inscription
vendredi 25 avril 2003
Statut
Membre
Dernière intervention
14 février 2011
1
Tu a essayé avec un shell ?

Regarde la source de Mr Lanix : http://www.vbfrance.com/codes/LANCER-EXE-OU-TXT-OU-HTML_21739.aspx

Qui s’endors le cul qui gratte, se réveille le doigt qui pût.

Confucius
Messages postés
248
Date d'inscription
jeudi 3 février 2005
Statut
Membre
Dernière intervention
22 juin 2008

Je ne veut pas l'executer !
je veut l'ouvrir ^^
Messages postés
630
Date d'inscription
vendredi 5 mai 2006
Statut
Membre
Dernière intervention
17 février 2007

Oups, il faut lire For i =0 To 31 et non For i = 1 To 32