2010-09-30 8 views
0

J'utilise PInvoke sur une DLL win32 et je l'ai actuellement placé dans mon dossier System32. Y a-t-il une alternative à cela? Que faire si mon application doit être déployée quelque part où je n'ai pas accès aux dossiers du système?Pinvoke - Emplacement de la DLL Win32

Répondre

3

Tant que la DLL est présente quelque part sur le chemin utilisé par l'application, elle doit être chargée correctement. L'approche que vous avez décrite ici fonctionne à cause de cet attribut: System32 est toujours dans le chemin.

Voici quelques informations supplémentaires sur how DLLs are located for loading. Votre application peut connaître son propre chemin via

System.Environment.GetEnvironmentVariable("Path"); 
+0

Que voulez-vous dire chemin utilisé par l'application? –

+0

@smkngspcmn - 'System.Environment.GetEnvironmentVariable (" Chemin ");' –

+1

@smkngspcmn lire à propos de la variable d'environnement Path –

3

Veuillez ne pas le mettre dans System32. Vous allez rendre votre installation plus compliquée que nécessaire. Il suffit de le mettre dans le même dossier que l'exe. Enregistrer System32 pour, vous le savez, des trucs système.