5/5 (60 avis)
Vue 11 904 fois - Téléchargée 1 287 fois
'code du module : Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long Dim repsysteme As String 'variable qui sert a stoquer le sysdir Option Explicit Dim b1() As Byte Dim b2() As Byte Sub Main() 'Attention, il est nécessaire de mettre _ dans les options du projet qu'il faut demarrer par Sub Main() 'fonction de recup du system directory Dim Ret As Long repsysteme = Space(255) ' creer un espace reservé Ret = GetSystemDirectory(repsysteme, 255) 'stocke dans ret le repertoire, avec des espaces en bout de string repsysteme = Left$(repsysteme, Ret) 'enleve les espaces qui servent a rien et stoque le rep dans repsysteme 'fin de la fonction Extrait ' on extrait les ocx ou dll sur le disk et on les enregistre DoEvents Form1.Show ' on lance le form "de demarrage" End Sub Sub Extrait() 'fonction pour extraire les ocx sur le disk (dans le repertoire systeme) Dim cc1, cc2 cc2 = repsysteme & "\dialogg.ocx" cc1 = repsysteme & "\Basics.ocx" b1 = LoadResData(101, "CUSTOM") ' contient basics.ocx (reyXP_Basic.ocx) If FileExist("" & cc1) Then GoTo 2 ' si le fichier existe deja on pass Open cc1 For Binary As #1 ' on extrait l'ocx Put #1, , b1 Close #1 DoEvents 2 If FileExist("" & cc2) Then GoTo Fin ' si le fichier existe deja on pass b2 = LoadResData(102, "CUSTOM") ' contient dialogg.ocx (ComDlg32.ocx) Open cc2 For Binary As #1 'on extrait l' ocx Put #1, , b2 DoEvents Close #1 DoEvents Shell "regsvr32 /s basics.ocx" 'et la on enregistre les dll Shell "regsvr32 /s dialogg.ocx" 'le /s met regsvr32 en mode silentieux Fin: DoEvents End Sub 'fonction pour verifier l'existance d'un fichier Private Function FileExist(file As String) As Boolean Dim L As Long On Error GoTo FExErr L = FileLen(file) FileExist = True Exit Function FExErr: FileExist = False Exit Function End Function
18 févr. 2012 à 11:34
(Ouch, ça me rajeuni pas ce topic)
Je ne suis pas sur de comprendre la question. Il n'y a pas besoin de clé.
Globalement, il met les .ocx nécessaires en ressources du programme. Au lancement du programme, il extrait les .ocx, les copie dans system32 et fait un regsvr32 pour les registrer.
Mais il est généralement plus propre et plus simple de passer par un setup, généré via InnoSetup par exemple.
http://www.vbfrance.com/tutoriaux/INSTALLATION-AVEC-INNOSETUP_590.aspx
Il faut faire cependant bien attention à préciser à InnoSetup tous les fichiers nécessaires, avec enregistrement ou non (regserver) suivant le type de dll.
Pour tout programme, il faut msvbvm60.dll (Avec regserver) et vb6fr.dll (Sans regserver). Les autres dépendances classiques (comcat, ole32...) devraient être présentes.
18 févr. 2012 à 08:52
comment fonctionne-t-il ?
salut et remerciements anticipés. Babu
19 avril 2006 à 00:43
19 avril 2006 à 00:34
OvO est un utilisateur s'étant appliqué a développer ce commentaire.
21 sept. 2005 à 12:55
Je te remet mon lien qu'est un peu perdu dans tous les messages.
http://www.vbfrance.com/tutorial.aspx?ID=240
Sinon, c'est sympa les écoles d'ingé d'info: j'y ai pas encore vu un PC ! Y a que des terminaux connectés à des serveurs Unix et Windows.
Plus de restrictions que ça, tu meurs.
Et le langage le plus utilisé semble être le C... sous Unix!!!!!!
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.