Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Caricamento DLL Unmanaged
Forum - C# / VB.NET - Caricamento DLL Unmanaged

Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 22:42
Venerdì, 19/02/2010
E' possibile caricare da .NET una dll unmanaged (C++, etc...) in modo dinamico? senza usare, quindi, l'attributo DLLImport.

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 23:45
Venerdì, 19/02/2010
Dovresti riuscirci con le API

LoadLibrary
GetProcAddress
FreeLibrary


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 10:50
Sabato, 20/02/2010
no, ok, io chiedevo se ci fosse un modo nativo di .NET per il caricamento dinamico. Dovrei comunque usare la DLLImport per usare le api di windows

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 11:45
Sabato, 20/02/2010
Non mi pare ci sia ... ma la DLLImport è per quelle tre API non per quelle della DLL importata ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 12:04
Sabato, 20/02/2010
si si, avevo già messo giù una cosa del genere

Codice sorgente - presumibilmente VB.NET

  1. <DllImport("kernel32")> _
  2.     Public Shared Function LoadLibrary(ByVal name As String) As IntPtr
  3.     End Function
  4.  
  5.     <DllImport("kernel32")> _
  6.     Public Shared Function FreeLibrary(ByVal hmodule As IntPtr) As Boolean
  7.     End Function
  8.  
  9.     <DllImport("kernel32")> _
  10.     Public Shared Function GetProcAddress(ByVal hmodule As IntPtr, ByVal name As String) As UIntPtr
  11.     End Function



solo mi sembrava strano che non fosse possibile caricare direttamente da .NET le dll unmanaged in modo dinamico.

PM Quote