Visual basic dll okutma ??
5
●662
- 14-08-2013, 17:00:36Üyeliği durdurulduArkadaslar visual basic de butuna tıklaayınca dll dosyasını açmasını istiyorum bunun bir kodu var mı ?
- 15-08-2013, 01:47:38Üyeliği durdurulduHocam elimde bir oyunun auto yükleyicisi var ancak yükleyicinin .exe'sinde başka bir oyunun görüntüsü ve yazıları var.Bu exe bir dll ile birlikte çalısıyor benim anladığım kadarıyla exe sadece dll yi okuyor.Benim istediğim kendi exe dosamla o dll yi okutmak.Chosen77 adlı üyeden alıntı: mesajı görüntüle
Eğer skype adresiniz varsa daha detaylı anlatayım ? - 15-08-2013, 18:51:00herhangi bir dll'i visual basic 6 ile çağırmak için biraz hamallık yapmak gerekir, aynı zamanda çağırılacak DLL içindeki fonksiyon ve metodların ve isimlerinin de bilinmesi gerekir. Yani haydi al bu DLL'i kullan dersen o da sana Runtime Error diye cevap verir..
Option Explicit ' Windows API method declarations Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long Private Declare Function CallWindowProc Lib "user32" Alias _ "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, _ ByVal Msg As Any, ByVal wParam As Any, ByVal lParam As Any) _ As Long Private Declare Function FormatMessage Lib "kernel32" Alias _ "FormatMessageA" (ByVal dwFlags As Long, lpSource As Long, _ ByVal dwMessageId As Long, ByVal dwLanguageId As Long, _ ByVal lpBuffer As String, ByVal nSize As Long, Arguments As Any) _ As Long Const FORMAT_MESSAGE_FROM_SYSTEM = &H1000 Const MyFunc As String = "MYFUNC" Const MyDll As String = "mylib.dll" Sub Main() ' Locate and load the DLL. This will run the DllMain method, if present Dim dllHandle As Long dllHandle = LoadLibrary(MyDll) If dllHandle = 0 Then MsgBox "Error loading DLL" & vbCrLf & ErrorText(Err.LastDllError) Exit Sub End If ' Find the procedure you want to call Dim procAddress As Long procAddress = GetProcAddress(dllHandle, MyFunc) If procAddress = 0 Then MsgBox "Error getting procedure address" & vbCrLf & ErrorText(Err.LastDllError) Exit Sub End If ' Finally, call the procedure CallWindowProc procAddress, 0&, "Dummy message", ByVal 0&, ByVal 0& End Subkodu kendim yazmadım, kopyalayapıştırspordur fakat isimleri düzenlediğinde çalışır.
Bu arada; metodlarını bilmediğim DLL'ler ile ilgili bilgi almak için Delphi kullanırım Import Component=>Type Library