cs_Nox
Messages postés415Date d'inscriptionmardi 3 avril 2001StatutMembreDernière intervention26 avril 2008
-
1 oct. 2002 à 03:10
Philippe734
Messages postés308Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention15 juin 2015
-
5 août 2010 à 18:00
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Philippe734
Messages postés308Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention15 juin 20151 5 août 2010 à 18:00
Est-ce qu'un DLLregistered permettrait de rendre un programme portable (sans installation) ? C'est à dire, est-ce qu'en ajoutant les dll vb6 au répertoire du dllregistered, un autre programme dépendant d'autres dll ; pourrait fonctionner sans installation ?
cs_nico1610
Messages postés395Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention19 juin 20091 16 mars 2006 à 01:17
Longtemps apres la tempête ...
Me voila, qui parcour les source de EBArt et je trouve celle la plutot drole.
Avant tout merci a toi EBArt pour toute ces source qui nous permet d'avancé dans le VB comme personne d'autre nous ferrai avancé !
Enfin, FranckTfr, quand tu créer une clé de registre pour les Dll je te conseille Deux chose : Donne un nom explicite et Fait gaffe au bug !!
Car là dé que ta dll aura un chemin avec un espace, ca va planter !! Il faut remplacer "Regsvr32.exe %1" Par "Regsvr32.exe "%1""
Alors voila un code qui marche pour Xp a copier dans un .reg avant d'executer :
[HKEY_CLASSES_ROOT\.dll]
@="dllfile"
"Content Type"="application/x-msdownload"
[HKEY_CLASSES_ROOT\dllfile\shell\Enregistrer la Dll]
[HKEY_CLASSES_ROOT\dllfile\shell\Enregistrer la Dll\command]
@="regsvr32 "%1""
[HKEY_CLASSES_ROOT\dllfile\shell\Désenregistrer la Dll]
[HKEY_CLASSES_ROOT\dllfile\shell\Désenregistrer la Dll\command]
@="regsvr32 /u "%1""
dualite2
Messages postés16Date d'inscriptionvendredi 11 octobre 2002StatutMembreDernière intervention27 avril 2005 21 juil. 2003 à 18:18
bah a moi l'interet semble simple si tu en as 3000 de dll tu vera qu'un prog sa peu etre bcp plus interessant que de cliquer droit 3000fois.
bref...
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 2 oct. 2002 à 22:21
Ahhh j'aime les réponses positive, même quand elles sont ironiques.
Si un jour un de mes programmes te semble utile j'espere que tu sera le premier
à mettre y un commentaire .... ;-)
Question : Comment créer une Dll avec licence (je vois l'option dans vb6 mais je ne peut pas l'activer) ?
francktfr
Messages postés101Date d'inscriptionvendredi 30 août 2002StatutMembreDernière intervention 5 novembre 2004 2 oct. 2002 à 22:08
ben si tu n'as vraimment que ca a faire, continue . . .
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 2 oct. 2002 à 01:01
Constructif comme remarque... tu fait tes programmes en un click aussi ?
Voila une autre façon de procéder pour le même resultat en 2 560 octets.
Assemblez ça avec Masm32 :
(Source + Exe dans l'archive Zip)
.386
.model flat, stdcall
option casemap :none
include MASM32INCLUDEwindows.inc
include MASM32INCLUDEkernel32.inc
include MASM32INCLUDEcomdlg32.inc
GetFileName proc
mov ofn.lStructSize, sizeof OPENFILENAME
set ofn.hInstance, hInstance
set ofn.lpstrFile, offset szFileName
set ofn.nMaxFile, sizeof szFileName
set ofn.Flags, OFN_FILEMUSTEXIST or OFN_HIDEREADONLY
invoke GetOpenFileName,ADDR ofn
ret
GetFileName endp
end start
francktfr
Messages postés101Date d'inscriptionvendredi 30 août 2002StatutMembreDernière intervention 5 novembre 2004 1 oct. 2002 à 22:27
ha parcequ'on est sur un site de prog, faut se casser la tete avec les classes et les api quand un clic droit de la souris suffit ?
Pour les setup, visual studio a deja ce qu'il faut.
Personnellement, je n'ai pas besoin de reinventer la roue pour avancer . . .
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 1 oct. 2002 à 18:58
Il y a plusieurs autres methodes c'est vrais, mais on est quand même sur un site programmation. On peut très bien l'utiliser pour créer un "Setup". De plus j'aime bien utiliser des issues qui ne nécessite aucun autre process.
On peu très bien appeler les fonctions directement si la dll reste la même
ex: Declare Sub DllRegisterServer1 Alias "DllRegisterServer" Lib "MyDll.Dll" ()
puis Call DllRegisterServer1
francktfr
Messages postés101Date d'inscriptionvendredi 30 août 2002StatutMembreDernière intervention 5 novembre 2004 1 oct. 2002 à 10:47
5 août 2010 à 18:00
16 mars 2006 à 01:17
Me voila, qui parcour les source de EBArt et je trouve celle la plutot drole.
Avant tout merci a toi EBArt pour toute ces source qui nous permet d'avancé dans le VB comme personne d'autre nous ferrai avancé !
Enfin, FranckTfr, quand tu créer une clé de registre pour les Dll je te conseille Deux chose : Donne un nom explicite et Fait gaffe au bug !!
Car là dé que ta dll aura un chemin avec un espace, ca va planter !! Il faut remplacer "Regsvr32.exe %1" Par "Regsvr32.exe "%1""
Alors voila un code qui marche pour Xp a copier dans un .reg avant d'executer :
[HKEY_CLASSES_ROOT\.dll]
@="dllfile"
"Content Type"="application/x-msdownload"
[HKEY_CLASSES_ROOT\.dll\PersistentHandler]
@="{098f2470-bae0-11cd-b579-08002b30bfeb}"
[HKEY_CLASSES_ROOT\dllfile]
@="Extension de l'application"
"AlwaysShowExt"=""
"EditFlags"=hex:01,00,00,00
"TileInfo"="prop:FileVersion;FileDescription"
"InfoTip"="prop:FileDescription;Company;FileVersion;Create;Size"
"NoOpen"=""
[HKEY_CLASSES_ROOT\dllfile\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,68,00,\
65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,31,00,35,\
00,34,00,00,00
[HKEY_CLASSES_ROOT\dllfile\shell]
[HKEY_CLASSES_ROOT\dllfile\shell\Enregistrer la Dll]
[HKEY_CLASSES_ROOT\dllfile\shell\Enregistrer la Dll\command]
@="regsvr32 "%1""
[HKEY_CLASSES_ROOT\dllfile\shell\Désenregistrer la Dll]
[HKEY_CLASSES_ROOT\dllfile\shell\Désenregistrer la Dll\command]
@="regsvr32 /u "%1""
21 juil. 2003 à 18:18
bref...
2 oct. 2002 à 22:21
Si un jour un de mes programmes te semble utile j'espere que tu sera le premier
à mettre y un commentaire .... ;-)
Question : Comment créer une Dll avec licence (je vois l'option dans vb6 mais je ne peut pas l'activer) ?
2 oct. 2002 à 22:08
2 oct. 2002 à 01:01
Voila une autre façon de procéder pour le même resultat en 2 560 octets.
Assemblez ça avec Masm32 :
(Source + Exe dans l'archive Zip)
.386
.model flat, stdcall
option casemap :none
include MASM32INCLUDEwindows.inc
include MASM32INCLUDEkernel32.inc
include MASM32INCLUDEcomdlg32.inc
includelib MASM32LIBkernel32.lib
includelib MASM32LIBcomdlg32.lib
WinMain PROTO :DWORD,:DWORD,:DWORD,:DWORD
GetFileName PROTO
set MACRO M1, M2
push M2
pop M1
ENDM
.data
;FuncName db "DllUnRegisterSever",0
FuncName db "DllRegisterServer",0
szFileName db 260 dup(0)
CommandLine dd 0
hInstance dd 0
ofn OPENFILENAME <>
.code
start:
invoke GetModuleHandle, NULL
mov hInstance, eax
invoke GetCommandLine
mov CommandLine, eax
invoke WinMain,hInstance,NULL,CommandLine,SW_SHOWDEFAULT
invoke ExitProcess,eax
WinMain proc hInst:DWORD,hPrevInst:DWORD,CmdLine:DWORD,CmdShow:DWORD
LOCAL hLib:DWORD
invoke GetFileName
.if szFileName[0] != 0
invoke LoadLibrary,ADDR szFileName
mov hLib, eax
invoke GetProcAddress,hLib,ADDR FuncName
call eax
invoke FreeLibrary,hLib
.endif
xor eax,eax
ret
WinMain endp
GetFileName proc
mov ofn.lStructSize, sizeof OPENFILENAME
set ofn.hInstance, hInstance
set ofn.lpstrFile, offset szFileName
set ofn.nMaxFile, sizeof szFileName
set ofn.Flags, OFN_FILEMUSTEXIST or OFN_HIDEREADONLY
invoke GetOpenFileName,ADDR ofn
ret
GetFileName endp
end start
1 oct. 2002 à 22:27
Pour les setup, visual studio a deja ce qu'il faut.
Personnellement, je n'ai pas besoin de reinventer la roue pour avancer . . .
1 oct. 2002 à 18:58
On peu très bien appeler les fonctions directement si la dll reste la même
ex: Declare Sub DllRegisterServer1 Alias "DllRegisterServer" Lib "MyDll.Dll" ()
puis Call DllRegisterServer1
1 oct. 2002 à 10:47
REGEDIT4
[HKEY_CURRENT_USERdllfileShell]
[HKEY_CURRENT_USERdllfileShellInscrire]
[HKEY_CURRENT_USERdllfileShellInscrireCommand]
@="Regsvr32.exe %1"
[HKEY_CURRENT_USERdllfileShellDeinscrire]
[HKEY_CURRENT_USERdllfileShellDeinscrireCommand]
@="Regsvr32.exe /u %1"
[HKEY_CURRENT_USERocxfile]
[HKEY_CURRENT_USERocxfileShell]
[HKEY_CURRENT_USERocxfileShellInscrire]
[HKEY_CURRENT_USERocxfileShellInscrireCommand]
@="Regsvr32.exe %1"
[HKEY_CURRENT_USERocxfileShellDeinscrire]
[HKEY_CURRENT_USERocxfileShellDeinscrireCommand]
@="Regsvr32.exe /u %1"
1 oct. 2002 à 03:10
regsvr32 MaDLL.dll