Je travaille avec class treeView. Je veux créer l'arbre des fichiers avec des icônes. Je veux extraire quelques icônes de shell32.dll. L'icône ou la classe d'image peut-elle fonctionner avec res-protocol? comment connaître le chemin complet du fichier sur le protocole res?Incorporation des ressources de win32 dll à .net
Répondre
Microsoft sévèrement et à plusieurs reprises a mis en garde contre cette pratique. Les ressources dans shell32.dll sont un détail d'implémentation privée et peuvent changer sans préavis. En supposant que vous voulez ignorer ceci: vous pouvez retirer les icônes de P/Invoke LoadLibrary() pour obtenir un handle de module et LoadImage() pour obtenir l'icône. Malheureusement, le constructeur Icon qui prend un handle est privé, vous devrez utiliser Reflection pour l'invoquer. Visitez pinvoke.net pour les déclarations.
Alors que tout cela fonctionne, ce n'est pas un bon code que vous aimerez maintenir. Fwiw, en levant les icônes de shell32.dll et en le mettant dans une ressource gérée est très simple. Dans Visual Studio, utilisez Fichier + Ouvrir + Fichier et ouvrez shell32.dll. Vous obtiendrez une liste de toutes les ressources, naviguez dans le nœud Icônes. Double-cliquez sur un pour voir ce qu'il contient, faites un clic droit + Exporter pour l'enregistrer dans un fichier. Aucune idée à quel point cela est légal, les icônes elles-mêmes ne portent pas de mention de copyright mais shell32.dll le fait certainement. Ce n'est probablement pas le cas.
Je pense que vous devez extraire les icônes de shell32 si vous voulez les utiliser.
Avec IcoFx (freeware), vous pouvez extraire des icônes à partir d'exe et dll.
- 1. Comment appeler une DLL .NET à partir d'un processus Win32?
- 2. Des fuites de ressources lors de l'utilisation d'une DLL VCL (C++ Builder) à partir de .NET
- 3. Obtenir des types dans Win32 Dll
- 4. Port Win32 DLL accrocher à Linux
- 5. Incorporation .net remoting programme dans WEB
- 6. Ressources incorporées dans l'application Win32
- 7. Incorporation de .NET usercontrol dans IE8
- 8. Comment protéger une DLL Win32 importée dans une application .NET à partir de problèmes de mémoire
- 9. Liaison win32 dll dans Qt
- 10. Pinvoke - Emplacement de la DLL Win32
- 11. Appelant win32 dll api à partir de l'application C#
- 12. Objet de SWT-win32-3064.dll
- 13. Générer par programme une DLL C Win32
- 14. Puis-je intégrer une DLL win32 dans un assembly .NET et y effectuer des appels à l'aide de P/Invoke?
- 15. .NET Globalization & DLL Satellite
- 16. Ajout d'un fichier de ressources à VC6 dll
- 17. Le support .NET pour Win32 Code Interop?
- 18. Comment appeler win32 CreateMutex à partir de .Net
- 19. Comment charger un assembly qui référence une DLL Win32?
- 20. Passer du développement .NET au développement Win32
- 21. Types personnalisés dans/avec DLLImport'ed/P/Invoke'd win32 dll?
- 22. .NET: Obtenir des ressources par réflexion
- 23. Comment faire des appels API Win32 à partir de PHP?
- 24. Comment puis-je obtenir des ressources (images) à partir du fichier .dll?
- 25. Comment appeler la fonction C# à partir de Win32 DLL avec des objets personnalisés
- 26. Ressources d'applications .NET à trois niveaux
- 27. L'utilisation d'une DLL compilée .net à l'intérieur de C++ natif
- 28. Obtention des détails d'une DLL dans .NET
- 29. Gestion des DLL d'assembly dans .Net
- 30. Windows .NET/Win32 UI développement
thx mais je veux faire cela sur le code. – Xaver