Démarage Automatique d'un fichier .EXE

Résolu
thc24 Messages postés 5 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 28 juin 2005 - 28 juin 2005 à 17:27
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 28 juin 2005 à 20:34
Donc j'ai un fichier .exe et je voudrais qu'il souvre directement au démarage de windows



donc si je l'envoi a quelqu'un je voudrais qui ce mette tout seul dans le dossier de démarage



si vous ne comprenez pas ce que je veux dire dite le moi

je pense être claie mais je ne le suis peut être pas

7 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
28 juin 2005 à 20:34
Salut,

Si j'ai bien compris, tu veux juste que ton exe se colle dans le démarrage de l'ordi dès la 1ère exécution ?

Je ne connais pas tes motivations. Avant, j'aurais pensé que c'était pour des motifs pas très avouables et d'aucun(e)s m'ont fait remarqué que j'étais trop strict. Quelquepart, c'était vrai.

Finalement, j'ai évolué, pourquoi refuserais-je de redistribuer une connaissance apprise de Microsoft lui-même ? D'autant plus que celui qui lance l'exécution d'une pièce jointe ou de n'importe quel exe sans savoir d'où elle/il provient et ce qu'elle/il est sensé(e) faire est un GROS BLAIREAU. Et les FireWall et autres AntiVirus (surtout s'ils ne sont pas à jour) n'éviteront jamais la CONNERIE du blaireau moyen.

De toutes façons, ce n'est pas avec VB qu'on peut faire le plus de mal.

Alors, voilà un chti code qui va permettre à ton exe de se copier dans le dossier de démarrage (98 ou xp) de l'utilisateur (même s'il l'exécute comme pièce jointe d'un e-mail). C'est du tout vb6 mais on peut l'adapter en vb.net.

Bien sùr, si ton prog utilise des ocx ou dll non présentes sur le PC cible, ça ne fonctionnera pas sans une install de ces dll et ocx, voir la réponse de crenaud76. Il y a des solutions mais pour l'instant, je ne m'étendrai pas la-dessus.

Autre chose, ce code ne fonctionne qu'en exécution. Pour le tester, crée un exe et lance-le. Garantie : tel qu'il est il ne te pourrira pas la vie.

Copie ce qui suit dans ton module principal, dans les propriétés de ton projet\objet de démarrage tu mets "sub main" et, à la place de '... dans le sub main, tu ouvres ta form principale (form.show) ou tu exécutes ce que tu veux :

' Récipient pour un item
Private Type SHITEMID
cb As Long
abID As Byte
End Type


' Récipient pour une liste d'items
Private Type ITEMIDLIST
mkid As SHITEMID
End Type


' Fonction API pour récupérer l'ID d'un dossier spécial de Windows
Private Declare Function SHGetSpecialFolderLocation _
Lib "shell32.dll" _
( _
ByVal hwndOwner As Long, _
ByVal nFolder As Long, _
pidl As ITEMIDLIST _
) As Long


' Fonction API pour récupérer le chemin du dossier spécial
Private Declare Function SHGetPathFromIDList _
Lib "shell32.dll" Alias "SHGetPathFromIDListA" _
( _
ByVal pidl As Long, _
ByVal pszPath As String _
) As Long


Private Function GetSpecialfolder(CSIDL As Long) As String
Dim IDL As ITEMIDLIST
Dim path As String

' Récupération du chemin du dossier spécial choisi
If SHGetSpecialFolderLocation(100, CSIDL, IDL) = 0 Then
path = Space$(512) 'init du buffer
Call SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal path)
' On enlève les chr$(0)'s inutiles
GetSpecialfolder = Split(path, Chr$(0))(0)
End If

End Function


Sub Main()
Dim PathFicArrivee As String


' path où doit arriver l'exe
PathFicArrivee = GetSpecialfolder(&H7) & "" & App.EXEName & ".exe"


' s'il n'est pas déjà là, on le copie
If Dir(PathFicArrivee) = "" Then FileCopy "." & App.EXEName & ".exe", PathFicArrivee


'...


End Sub

Si ce post n'est pas supprimé par un admin aussi chatouilleux que j'étais avant, bonne prog !

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
3
cs_sitemo Messages postés 341 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 29 juin 2011 1
28 juin 2005 à 17:29
va sur demarrer/programme/demarrage met le la dedans et ca se lance automatiquement


MK
0
thc24 Messages postés 5 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 28 juin 2005
28 juin 2005 à 17:32
Merci mais ça je sais aussi je voudrais juste que cela



ce fasse de mannière automatique.



c-à-d si j'envoi ce fichier .exe a un ami a la première ouverture il se
logera tout seul comme un grand dans le démarage automatique
0
cs_nr Messages postés 164 Date d'inscription mardi 16 décembre 2003 Statut Membre Dernière intervention 11 juillet 2005
28 juin 2005 à 17:46
Salut,


Je vais peut être dire une connerie mais si tu copie ton exe dans C:\WINDOWS\Menu Démarrer\Programmes lors du premier démarrage du soft.

@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
thc24 Messages postés 5 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 28 juin 2005
28 juin 2005 à 17:52
C:\WINDOWS\Menu Démarrer\Programmes



ça je le sais



mais pour qu'il le fasse de manière a le faire tout seul



et qu'il se loge tout seul dans C:\WINDOWS\Menu Démarrer\Programmes



une source a rajouter dans le programme
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
28 juin 2005 à 18:53
C'est au niveau de ton paquet d'install qu'il faut voir le problème, pas au niveau de ton soft en li-même. Le créateur de pack d'isntall fourni avec Vb ne permet pas de faire cela, alors je te conseille d'en utiliser un autre, comme InnoSetUp et son compagnon ISTools. Notre ami Dark Sidious a un tutor sur ce soft sur son site : www.progotop.com

Christophe
0
thc24 Messages postés 5 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 28 juin 2005
28 juin 2005 à 18:57
ok merci celà m'aide



mais pour qu'il le fasse en arrière plan



comment dois je faire???
0
Rejoignez-nous