Я работаю с классом treeView. Я хочу создать дерево файлов с иконками. Я хочу извлечь некоторые значки из shell32.dll. Может ли значок или класс изображения работать с res-протоколом. как узнать полный путь к файлу по протоколу res?Внедрение ресурсов из win32 dll в .net
ответ
Microsoft строго и неоднократно предупреждал об этой практике. Ресурсы в shell32.dll являются частной информацией о реализации и могут быть изменены без предварительного уведомления. Предполагая, что вы хотите проигнорировать это: вы можете вывести иконки из него с помощью P/Invoking LoadLibrary(), чтобы получить дескриптор модуля и LoadImage(), чтобы получить значок. К сожалению, конструктор значков, который берет дескриптор, является закрытым, вам придется использовать Reflection для его вызова. Посетите pinvoke.net для объявлений.
Хотя все это работает, это не отличный код, который вам понравится. Fwiw, поднимая иконки из shell32.dll и помещая его в управляемый ресурс, очень прост. В Visual Studio используйте File + Open + File и откройте файл shell32.dll. Вы получите список всех ресурсов, перейдите в узел Icons. Дважды щелкните его, чтобы увидеть, что он содержит, щелкните правой кнопкой мыши + Экспорт, чтобы сохранить его в файле. Не знаю, насколько это право, сами значки не несут уведомление об авторских правах, но shell32.dll, безусловно, делает. Вероятно, это не так.
Я думаю, вам нужно извлечь значки из shell32, если вы хотите их использовать.
С IcoFx (бесплатно) вы можете извлекать иконки из exe's и dll's.
- 1. Изменение ресурсов в других Win32-dll/exe
- 2. win32 dll в C# .net
- 3. WIN32 :: OLE-вызов. Net dll
- 4. Встраивание собственных ресурсов win32 в сборку .NET?
- 5. VB.net DLL Импорт из ресурсов
- 6. Как определить тип dll? (COM, .NET, WIN32)
- 7. Справочная dll из ресурсов
- 8. Управление процессом Win32 из инъецированной DLL (VC++. NET 2010)
- 9. Вызов Win32 DLL из .NET со сложной структурой
- 10. Невозможно загрузить Win32 Native DLL-файл из C# .NET
- 11. Вызов Win32 DLL из C++
- 12. Строки ресурсов в .net
- 13. Возможно конвертирование DLL в DLL в .NET?
- 14. Внедрение неуправляемой dll в управляемую C# dll
- 15. Parsing plain Win32 PE File (Exe/DLL) в .NET
- 16. Чтение ресурсов из DLL-файла
- 17. Загрузка DLL из своих ресурсов
- 18. CEGUI - Загрузка ресурсов из DLL
- 19. win32 файл ресурсов помощь
- 20. создать список изображений из файла ресурсов - win32
- 21. Код для вставки win32 dll в .net Project
- 22. Внедрение WeakReference в .NET
- 23. Внедрение Memento на .NET
- 24. Win32 DLL/Справочное хранилище
- 25. C# Импорт из .NET DLL
- 26. asp.net: развертывание локальных ресурсов - возможно ли внедрение?
- 27. Ввод DLL в процесс из встроенных ресурсов
- 28. Pinvoke - Местоположение Win32 DLL
- 29. Win32 :: API не загружает win32 dll
- 30. Как мне вызвать win32 dll из powerbuilder11.5?
thx, но я хочу сделать это по коду. – Xaver