Hola tanto tiempo, estaba haciendo mi troyano y se me ocuririo q se actualize pero lo quise hacer por medio de plugins (el ej es el que le dieron a martin) pero a mi no me deja cargar mas de una dll y queria saber si alguno me puede ayudar por favor. Codigo para leer las dll:
Option Explicit
Public Sub AñadirAlMenu(ByVal Nombre$, ByVal Titulo$)
Dim index As Integer
If ListaDePlugins(0).Enabled = True Then
index = index + 1
Load ListaDePlugins(index)
Else
ListaDePlugins(0).Enabled = True
End If
ListaDePlugins(index).Caption = Titulo
ListaDePlugins(index).Tag = Nombre
End Sub
Public Sub CargarPlugins()
On Error GoTo error:
Dim dll$, temp$, obj
dll = Dir("C:\Windows\System32\*.dll", vbNormal) 'se obtiene la dll
Do Until dll = ""
dll = Left(dll, Len(dll) - 4) 'quita ".dll" del nombre
temp = dll & "." & "plugin"
Set obj = CreateObject(temp) 'se crea el plugin
AñadirAlMenu temp, obj.NombrePlugin 'se añade el plugin al menu
dll = Dir()
Loop
Exit Sub
error:
MsgBox "Error al cargar un plugin. Puede que no esté corretamente registrado.", , "Error"
End Sub
Private Sub ListaDePlugins_Click(index As Integer)
Dim obj
Set obj = CreateObject(ListaDePlugins(index).Tag)
obj.AbrirPlugin Me
End Sub
Private Sub mnuplugins_Click()
CargarPlugins 'se cargan los plugins que están el el directorio plugins.
End Sub
Contiene un text1.text y un menu
caption: plugins
name: mnuplugins
->caption lala
->name: ListaDePlugins (con index 0 para crear una matriz)
y este es el code de la dll a crear con vb esto es en el form1 lo otro va en un modulo de clase llamado plugin
Public miFormularioPadre As Form 'el manejador del formulario
Option Explicit
Private Sub Command1_Click()
miFormularioPadre.Caption = Text1.Text
End Sub
Private Sub Command2_Click()
miFormularioPadre.Text1.Text = miFormularioPadre.Text1 + Text2.Text
End Sub
Private Sub Command4_Click()
MsgBox miFormularioPadre.Text1.Text, vbInformation, "From Plugin"
End Sub
Option Explicit
Public Property Get NombrePlugin() As String 'El nombre del plugin
NombrePlugin = "Este es miplugin"
End Property
Public Sub AbrirPlugin(Form As Object)
Set Form1.miFormularioPadre = Form
Form1.Show
End Sub
bueno al compilar la dll la ponemos en system32 y la regsitramos asi en MS-DOS o en cmd o en ejecutar como quieran ponen
regsvr32 miplugin.dll ese nombre xq asi lo compile
miplugin.dlly si o si al registrarla tiene q estar en system32 al dll (si me equivoco corijanmen)
ese code no me fuciona bien y yo probe hacer esto
Public Sub CargarPlugins()
On Error GoTo error:
Dim dll$, temp$, obj
open "C:\dll.txt" for input as #1
Do While Not EOF(1)
Line Input #1, lala
dll = Left(lala, Len(lala) - 4) 'quita ".dll" del nombre
temp = dll & "." & "plugin"
Set obj = CreateObject(temp) 'se crea el plugin
AñadirAlMenu temp, obj.NombrePlugin 'se añade el plugin al menu
Loop
Exit Sub
error:
MsgBox "Error al cargar un plugin. Puede que no esté corretamente registrado.", , "Error"
End Sub
bueno en C:\dll.txt estan los nombres de las dll entonces las saca de a una pero no sirve ninguno de los 2 ejemplos espero q alguien me ayude y perdon x escribir tanto.