Autor
|
Tema: [RESUELTO]¿como ejecutar el DllMain de una dll estandar hecha en vb6? (Leído 5,624 veces)
|
Arconte
Desconectado
Mensajes: 43
|
segui el tutorial de elguille donde muestra como crear una dll estandar y todo me salio bien excepto que no se logra ejecutar el DllMain al cargar la dll, en algunos post decian que se tiene que cambiar el ep , ¿asi se soluciona el problema, como se hace eso?
|
|
« Última modificación: 19 Julio 2012, 05:18 am por Arconte »
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
Tu quieres hacer una DLL estandar y poner algo al ejecutar el DLLMain? O queres cargar una DLL y ejecutar su DllMain automaticamente?
Si es la primera, busca sobre vbadvance ( esta descontinuado ) y la segunda... supongo que con API's...
|
|
|
En línea
|
|
|
|
Arconte
Desconectado
Mensajes: 43
|
se supone que al cargar una dll se deberia ejecutar automaticamente la funcion DllMain como en las dll hechas en c y lo que quiero es eso precisamente ¿como lo hago? Public Function DllMain(hInst As Long, fdwReason As Long, lpvReserved As Long) As Boolean Select Case fdwReason Case DLL_PROCESS_DETACH ' No per-process cleanup needed Case DLL_PROCESS_ATTACH DllMain = True Case DLL_THREAD_ATTACH ' No per-thread initialization needed Case DLL_THREAD_DETACH ' No per-thread cleanup needed End Select End Function
|
|
|
En línea
|
|
|
|
rembolso
Desconectado
Mensajes: 163
|
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
|
|
|
En línea
|
|
|
|
rembolso
Desconectado
Mensajes: 163
|
si tu quieres hacer un Inyeccion Dll en VB. con una dll made for vb. no te va a funcionar por mas que el programa sea el notepad. pero si la dll esta en c/c++ si. espero no equivocarme !!!
|
|
|
En línea
|
|
|
|
cobein
|
Si se pueden hacer dll standard y si se pueden inyectar, lo dificil es hacer la libreria correctamente para no explotar el proceso inyectado.
|
|
|
En línea
|
|
|
|
Arconte
Desconectado
Mensajes: 43
|
gracias raul338 , probe ese programa vbAdvance y si me anda rebien, tan solo con cargar la dll se ejecuta automaticamente el dllmain y al descargarse se vuelve a ejecutar, lo probe con este codigo la Dll: Option Explicit
Private Declare Function MessageBox Lib "user32" Alias "MessageBoxA" ( _ ByVal hwnd As Long, _ ByVal lpText As String, _ ByVal lpCaption As String, _ ByVal wType As Long) As Long
Public Function DllMain() As Long DllMain = MessageBox(0, "hola", "titulo", 64) DllMain = MessageBox(0, "hola", "titulo", 48) DllMain = MessageBox(0, "hola", "titulo", 16) End Function
el programa: Option Explicit
Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
Dim hModule As Long Private Sub Command1_Click() hModule = LoadLibrary("test.dll") Me.Caption = hModule End Sub
Private Sub Command2_Click() Call FreeLibrary(hModule) Me.Caption = "" End Sub
Private Sub Form_Load() Me.Caption = "" End Sub
aunque si cierras el programa sin antes descargar la dll me sale un mensaje de error : la instruccion "xxxxxxx" hace referencia a la memoria "xxxxx" no se puede written , pero es un problema de lo mas minimo que lo solucione con FreeLibrary, gracias y saludos.
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
aunque si cierras el programa sin antes descargar la dll me sale un mensaje de error : la instruccion "xxxxxxx" hace referencia a la memoria "xxxxx" no se puede written , pero es un problema de lo mas minimo que lo solucione con FreeLibrary, gracias y saludos.
Y claro, es como manejar punteros, si terminas sin liberarlos tienes un problema de memoria solo que en este caso ni el sistema se encarga de liberarlo
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Cómo colgar pág.web hecha en flash?
Diseño Gráfico
|
rut
|
2
|
2,131
|
1 Agosto 2005, 13:49 pm
por rut
|
|
|
Como ver ono sin tener la instalacion hecha, desde cero
Electrónica
|
Cory
|
0
|
5,668
|
1 Diciembre 2006, 06:02 am
por Cory
|
|
|
¿como ejecutar DLLMain en una libreria de vb6?
Programación Visual Basic
|
theghost_te
|
0
|
2,204
|
21 Diciembre 2010, 00:18 am
por theghost_te
|
|
|
¿Como se hace una app nativa de una hecha en html5 (IOS) ?
Programación General
|
BEATMASTER
|
2
|
2,300
|
28 Marzo 2013, 20:03 pm
por BEATMASTER
|
|
|
[Resuelto] Ejecutar un .bat en php
PHP
|
WIитX
|
1
|
9,916
|
24 Octubre 2015, 15:32 pm
por venadHD
|
|