Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. 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.


"There's no point in being exact about something if you don't even know what you're talking about."

JOHN VON NEUMANN


Siamo italiani NO??
Allora scriviamo in ITALIANO!!!!
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5640
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 ...
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


"There's no point in being exact about something if you don't even know what you're talking about."

JOHN VON NEUMANN


Siamo italiani NO??
Allora scriviamo in ITALIANO!!!!
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5640
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 ...
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.


"There's no point in being exact about something if you don't even know what you're talking about."

JOHN VON NEUMANN


Siamo italiani NO??
Allora scriviamo in ITALIANO!!!!
PM Quote