DLL Laden

Hallo
habe folgenden code:
[DllImport(@„c:\r\D.dll“)]
public static extern int Install(int hwndParent, int Type, int Verbose);

gibt es die Möglichkeit den Pfad der dll in einem string zu speichern? Die DLL liegt in verschiedenen Ordnern und es soll nach bedarf die entsprechende dll aufgerufen werden.

Falls ja, wie stelle ich das an??

Danke
Grüße
pako

Hi!

Leider ist es nicht möglich, den Pfad zur Laufzeit zu ändern, so wie Du Dir das vorstellst.
Man kann aber beim DllImport nur den DLL-Namen (ohne Pfad) angeben und dann beim Aufruf von Install dafür sorgen, dass die DLL im aktuellen Verzeichnis ist - also entweder hinkopieren oder das aktuelle Verzeichnis wechseln (zurücksetzen nicht vergessen!).

Gruß,
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich hatte vor deiner Antwort bereits eine Lösung gefunden.
Es geht den Pfad variabel zu halten und die dll zur Laufzeit zu laden falls sie nicht vorhanden ist.

Trotzdem merci.
Grüße

Dann musst Du aber auch das LoadLibrary() per P/Invoke aufrufen, oder wie machst Du es sonst?

Nur interessehalber…

Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Dann musst Du aber auch das LoadLibrary() per P/Invoke
aufrufen, oder wie machst Du es sonst?

Nur interessehalber…

Martin

genau so! und es funktioniert wunderbar.

Grüße
Patrick