1) quelqu'un sait comment ouvrir/utiliser dynamiquement une dll activex
(crée sous vb) sur vc++?
2) quelqun connait un miyen pour savoir si une dll est une activex ou une
simple dll (sans essayer de l'ouvrir par la question 1)
de plus elle est référencée dans la base de registre par son CLSID.
VB
dark poulpo
et si je connais pas son CLSID ou GUID, quand je dit chargement dynamique, je connais juste son nom de dll , les fonctions a linterrieurs, la classe, mais c tout
je me vois pas scanner les clés de la base de reg pour connaitre son id
et si je connais pas son CLSID ou GUID, quand je dit chargement dynamique,
je connais juste son nom de dll , les fonctions a linterrieurs, la classe,
mais c tout
je me vois pas scanner les clés de la base de reg pour connaitre son id
et si je connais pas son CLSID ou GUID, quand je dit chargement dynamique, je connais juste son nom de dll , les fonctions a linterrieurs, la classe, mais c tout
je me vois pas scanner les clés de la base de reg pour connaitre son id
CLSIDFromProgID() jai trouvé, merci -- ----- http://dark.freezee.org/ http://www.dark-team.cjb.net/
Vincent Burel
"dark poulpo" wrote in message news:4271f029$0$11694$
et si je connais pas son CLSID ou GUID, quand je dit chargement dynamique, je connais juste son nom de dll , les fonctions a linterrieurs, la classe, mais c tout
Normallement, il faut connaitre les CLSID et GUID de ce que vous voulez utiliser... C'est la base des objet COM.
je me vois pas scanner les clés de la base de reg pour connaitre son id
pourquoi !? la clef CLASS_ROOT // CLSID est là pour ca ! pour se faire scanner.
VB
"dark poulpo" <qsdqd@sss.ss> wrote in message
news:4271f029$0$11694$8fcfb975@news.wanadoo.fr...
et si je connais pas son CLSID ou GUID, quand je dit chargement dynamique,
je connais juste son nom de dll , les fonctions a linterrieurs, la classe,
mais c tout
Normallement, il faut connaitre les CLSID et GUID de ce que vous voulez
utiliser... C'est la base des objet COM.
je me vois pas scanner les clés de la base de reg pour connaitre son id
pourquoi !? la clef CLASS_ROOT // CLSID est là pour ca ! pour se faire
scanner.
"dark poulpo" wrote in message news:4271f029$0$11694$
et si je connais pas son CLSID ou GUID, quand je dit chargement dynamique, je connais juste son nom de dll , les fonctions a linterrieurs, la classe, mais c tout
Normallement, il faut connaitre les CLSID et GUID de ce que vous voulez utiliser... C'est la base des objet COM.
je me vois pas scanner les clés de la base de reg pour connaitre son id
pourquoi !? la clef CLASS_ROOT // CLSID est là pour ca ! pour se faire scanner.
VB
Vincent Burel
"dark poulpo" wrote in message news:4271f0bd$0$809$
par contre jai trouvé ca , ca tue
http://www.cppfrance.com/code.aspx?id)171
très jolie ! celui la est pas mal non plus : http://www.cppfrance.com/code.aspx?id1029
"dark poulpo" <qsdqd@sss.ss> wrote in message
news:4271f0bd$0$809$8fcfb975@news.wanadoo.fr...
par contre jai trouvé ca , ca tue
http://www.cppfrance.com/code.aspx?id)171
très jolie !
celui la est pas mal non plus :
http://www.cppfrance.com/code.aspx?id1029
"dark poulpo" wrote in message news:4271f0bd$0$809$
par contre jai trouvé ca , ca tue
http://www.cppfrance.com/code.aspx?id)171
très jolie ! celui la est pas mal non plus : http://www.cppfrance.com/code.aspx?id1029
Aurélien REGAT-BARREL
dark poulpo wrote:
par contre jai trouvé ca , ca tue
http://www.cppfrance.com/code.aspx?id)171
"On m'a déja dit qu'il faut être maso pour réaliser un conteneur Activex sans faire appel aux MFC ou ATL. Eh bien, ce n'est plus le cas" [...] "Comme vous le voyez, tout le secret réside dans l'utilisation de la fonction "AtlAxAttachControl" contenue dans "atl.dll"."
Elle est où la tuerie ? Du code de bourrin sans ATL on a donné des liens ici y'a pas très longtemps (dont un sur cppfrance). ActiveX y est bien décortiqué.
2) quelqun connait un miyen pour savoir si une dll est une activex ou une simple dll (sans essayer de l'ouvrir par la question 1)
Ce que t'a donné Vincent permet de savoir qi ta dll est un composant COM. Il me semble qu'un ActiveX doit en plus obligatoirement fournir un tlb, donc peut être que même si ta dll n'est pas enregistrée dans la BDR, tu peux "jouer" avec ITypeLib via LoadTypeLib. http://www.codeguru.com/Cpp/COM-Tech/activex/misc/article.php/c2569/ En étudiant les CoClass exportée (IOleObject, ...), tu pourras déterminer si c'est ou non un ActiveX. http://msdn.microsoft.com/workshop/components/activex/intro.asp
-- Aurélien REGAT-BARREL
dark poulpo wrote:
par contre jai trouvé ca , ca tue
http://www.cppfrance.com/code.aspx?id)171
"On m'a déja dit qu'il faut être maso pour réaliser un conteneur Activex
sans faire appel aux MFC ou ATL. Eh bien, ce n'est plus le cas"
[...]
"Comme vous le voyez, tout le secret réside dans l'utilisation de la
fonction "AtlAxAttachControl" contenue dans "atl.dll"."
Elle est où la tuerie ?
Du code de bourrin sans ATL on a donné des liens ici y'a pas très longtemps
(dont un sur cppfrance). ActiveX y est bien décortiqué.
2) quelqun connait un miyen pour savoir si une dll est une activex ou une
simple dll (sans essayer de l'ouvrir par la question 1)
Ce que t'a donné Vincent permet de savoir qi ta dll est un composant COM. Il
me semble qu'un ActiveX doit en plus obligatoirement fournir un tlb, donc
peut être que même si ta dll n'est pas enregistrée dans la BDR, tu peux
"jouer" avec ITypeLib via LoadTypeLib.
http://www.codeguru.com/Cpp/COM-Tech/activex/misc/article.php/c2569/
En étudiant les CoClass exportée (IOleObject, ...), tu pourras déterminer si
c'est ou non un ActiveX.
http://msdn.microsoft.com/workshop/components/activex/intro.asp
"On m'a déja dit qu'il faut être maso pour réaliser un conteneur Activex sans faire appel aux MFC ou ATL. Eh bien, ce n'est plus le cas" [...] "Comme vous le voyez, tout le secret réside dans l'utilisation de la fonction "AtlAxAttachControl" contenue dans "atl.dll"."
Elle est où la tuerie ? Du code de bourrin sans ATL on a donné des liens ici y'a pas très longtemps (dont un sur cppfrance). ActiveX y est bien décortiqué.
2) quelqun connait un miyen pour savoir si une dll est une activex ou une simple dll (sans essayer de l'ouvrir par la question 1)
Ce que t'a donné Vincent permet de savoir qi ta dll est un composant COM. Il me semble qu'un ActiveX doit en plus obligatoirement fournir un tlb, donc peut être que même si ta dll n'est pas enregistrée dans la BDR, tu peux "jouer" avec ITypeLib via LoadTypeLib. http://www.codeguru.com/Cpp/COM-Tech/activex/misc/article.php/c2569/ En étudiant les CoClass exportée (IOleObject, ...), tu pourras déterminer si c'est ou non un ActiveX. http://msdn.microsoft.com/workshop/components/activex/intro.asp
-- Aurélien REGAT-BARREL
Christian ASTOR
dark poulpo wrote:
par contre jai trouvé ca , ca tue
http://www.cppfrance.com/code.aspx?id)171
Mais c'est un peu bidon... (euphémisme) 5 mois pour en arriver là, hum... Si on utilise ATL, autant faire encore plus simple avec AtlAxWinInit() Qu'on appelle dynamiquement ou classiquement (KB192560) Il n'y a alors même pas besoin de CoCreateInstance() et Cie... Donc ce n'est pas du tout "100% API" (genre KB189634, ce qui est une autre paire de manches...)
dark poulpo wrote:
par contre jai trouvé ca , ca tue
http://www.cppfrance.com/code.aspx?id)171
Mais c'est un peu bidon... (euphémisme)
5 mois pour en arriver là, hum...
Si on utilise ATL, autant faire encore plus simple avec AtlAxWinInit()
Qu'on appelle dynamiquement ou classiquement (KB192560)
Il n'y a alors même pas besoin de CoCreateInstance() et Cie...
Donc ce n'est pas du tout "100% API" (genre KB189634, ce qui est une
autre paire de manches...)
Mais c'est un peu bidon... (euphémisme) 5 mois pour en arriver là, hum... Si on utilise ATL, autant faire encore plus simple avec AtlAxWinInit() Qu'on appelle dynamiquement ou classiquement (KB192560) Il n'y a alors même pas besoin de CoCreateInstance() et Cie... Donc ce n'est pas du tout "100% API" (genre KB189634, ce qui est une autre paire de manches...)
dark poulpo
pour moi ca tue,comparé a ce que jai trouvé jusque la, parceque c simple, clair, et pas enfui dans 100 lignes de code, ce qui plait a quelqu'un ne plait pas forcement a un autre, tout est relatif.
pour savoir si c un activex, je fais un getprocaddress() d'une des fonctions données par V.B
pour moi ca tue,comparé a ce que jai trouvé jusque la, parceque c simple,
clair, et pas enfui dans 100 lignes de code, ce qui plait a quelqu'un ne
plait pas forcement a un autre, tout est relatif.
pour savoir si c un activex, je fais un getprocaddress() d'une des fonctions
données par V.B
pour moi ca tue,comparé a ce que jai trouvé jusque la, parceque c simple, clair, et pas enfui dans 100 lignes de code, ce qui plait a quelqu'un ne plait pas forcement a un autre, tout est relatif.
pour savoir si c un activex, je fais un getprocaddress() d'une des fonctions données par V.B
pour moi ca tue,comparé a ce que jai trouvé jusque la, parceque c simple, clair,
Mais non, ça ne tue rien du tout. Comme a dit Aurélien, c'est ATL qui fait tout. 5 Mois pour faire un GetProcAddress() sur ATL.DLL et dire qu'on n'utilise pas ATL et croire qu'on vient de découvrir le feu, c'est surtout grand-guignolesque...
dark poulpo wrote:
pour moi ca tue,comparé a ce que jai trouvé jusque la, parceque c simple,
clair,
Mais non, ça ne tue rien du tout.
Comme a dit Aurélien, c'est ATL qui fait tout.
5 Mois pour faire un GetProcAddress() sur ATL.DLL et dire qu'on
n'utilise pas ATL et croire qu'on vient de découvrir le feu,
c'est surtout grand-guignolesque...
pour moi ca tue,comparé a ce que jai trouvé jusque la, parceque c simple, clair,
Mais non, ça ne tue rien du tout. Comme a dit Aurélien, c'est ATL qui fait tout. 5 Mois pour faire un GetProcAddress() sur ATL.DLL et dire qu'on n'utilise pas ATL et croire qu'on vient de découvrir le feu, c'est surtout grand-guignolesque...