haber pues, ensayando una injeccion de dll en vb con una dll en vb me encontre con un problema y era que cuando llamaba a cuallquier funcion API estando en la dll, se me volvia miercoles el programa injectado, pero cuando intentaba con una dll hecha en c++ y el injector en vb funcionaba de maravilla, cuando intentava llamar a la misma dll desde un programa de en vb si funcionaba, y hice este code donde pasa exactamente lo mismo pero no es el mismo de la dll y queria saber porque diablos no es funcional este codigo, ya que DEBERIA funcionar, si es posible que alguno de ustedes me pueda ayudar.
Código:
Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
Private Declare Function CreateThread Lib "kernel32" (lpThreadAttributes As Long, ByVal dwStackSize As Long, lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadId As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Sub Command1_Click()
Dim var1 As Long, var2 As Long, var3 As Long, var4 As Long
var1 = GetModuleHandle("msvbvm60.dll")
var2 = GetProcAddress(var1, "rtcShell")
If var2 <= 0 Then MsgBox "funcion no encontrada": Exit Sub
var3 = CreateThread(ByVal 0&, 0&, ByVal var2, ByVal "notepad", 0&, ByVal 0&)
DoEvents
If var3 <= 0 Then
MsgBox "POR QUE DIABLOS NO FUNCIONA ESTA PINGADA"
Else
CloseHandle var3
End If
End Sub
o tambien si me pueden facilitar informacion de como vb hace para cargar las funciones de las dlls, ahhh se me olvidaba, con este codigo puedo llamar a las funciones de OTRA dll por ejemplo kernel32 o user32 sin que salgan errores, POR QUE???????