Icon Extraction Feature - Documentation Index
Complete documentation for the Windows System Icon Extraction feature in Krypton Toolkit.
π Documentation Files
For Developers
1. Icon Extraction API Reference
Comprehensive API Documentation β Primary developer reference
- Complete API reference for all methods
- Detailed parameter descriptions
- Return value documentation
- Code examples for every method
- Implementation details and internals
- Memory management guidelines
- Performance optimization strategies
- Extension guidelines for adding new DLL sources
- Platform compatibility matrix
- Error handling patterns
Target Audience: Developers integrating the icon extraction API
Length: ~400 lines, comprehensive
2. Icon Extraction Quick Reference
Quick Reference Cheat Sheet β‘ Fast lookup
- One-page cheat sheet
- Common icon IDs and their indices
- All icon sizes with pixel dimensions
- Quick code examples
- Common patterns
- Best practices vs common mistakes
- Troubleshooting table
Target Audience: Developers needing quick reference
Length: ~200 lines, concise
3. System Icons
Feature Overview and Summary π High-level overview
- Feature summary and benefits
- List of all supported DLLs
- Files added/modified
- Build status
- API summary table
- Quick usage examples
Target Audience: Project managers, team leads, developers
Length: ~260 lines, summary format
For End Users
4. System Icons - Comprehensive Guide
Complete User Guide π Full user documentation
- Overview of all icon sources
- Quick start examples for each DLL
- Accessing undocumented icons
- Using icons in applications
- Icon categories by DLL
- Creating image lists
- Error handling best practices
- Performance tips
- Windows version compatibility
Target Audience: Application developers using Krypton Toolkit
Length: ~380 lines, tutorial style
5. Icon Extraction Example
Basic Usage Examples π― Getting started
- Simple usage examples
- Common imageres.dll icons
- Common shell32.dll icons
- Available icon sizes
- Error handling examples
- Complete working examples
- Advanced usage patterns
Target Audience: New users getting started
Length: ~250 lines, example-focused
πΊοΈ Documentation Map by Use Case
"I want to understand what this feature does"
- Start with: System Icons
- Then read: System Icons - Comprehensive Guide
"I want to integrate this into my app"
- Start with: Icon Extraction Example
- Reference: Icon Extraction Quick Reference
- Deep dive: Icon Extraction API Reference
"I need a specific icon"
- Check: Icon Extraction Quick Reference - Common icons section
- Browse: Enum definitions in code or comprehensive guide
"I want to extend this feature"
- Read: Icon Extraction API Reference - Extension Guidelines section
- Study: Existing implementation in source files
"I have a problem"
- Check: Icon Extraction Quick Reference - Troubleshooting section
- Review: Icon Extraction API Reference - Error Handling section
π Source Code Files
Core Implementation
| File | Location | Lines | Purpose |
|---|---|---|---|
GraphicsExtensions.cs |
Krypton.Toolkit/Utilities/ |
795 | Public API and extraction logic |
ImageNativeMethods.cs |
Krypton.Toolkit/Utilities/ |
34 | P/Invoke declarations |
Definitions.cs |
Krypton.Toolkit/General/ |
5193 | Icon ID enumerations |
PlatformInvoke.cs |
Krypton.Toolkit/General/ |
5097 | Library path constants |
Key Code Sections
GraphicsExtensions.cs:
- Lines 136-182:
ExtractIcon()- Core extraction method - Lines 364-390:
ExtractIconFromImageres()methods - Lines 689-706:
ExtractIconFromShell32()methods - Lines 708-791: Additional DLL extraction methods
Definitions.cs:
- Lines 3311-4362:
ImageresIconIDenum (~300 icons) - Lines 4366-4843:
Shell32IconIDenum (~300 icons) - Lines 4847-5131: Additional DLL enums
PlatformInvoke.cs:
- Lines 60-128:
Librariesclass with DLL constants
π― Quick Start
Absolute Beginner
// Extract a folder icon
var icon = GraphicsExtensions.ExtractIconFromShell32(
(int)Shell32IconID.Folder,
IconSize.Medium
);
if (icon != null)
{
myButton.Values.Image = icon.ToBitmap();
}
Where to Learn More
- Read Icon Extraction Example
- Refer to Icon Extraction Quick Reference
π Feature Statistics
- Total Icons Available: 1500+
- Supported DLLs: 7 (imageres, shell32, ieframe, moricons, compstui, setupapi, netshell)
- Icon Sizes: 10 standard sizes (8px to 256px)
- Target Frameworks: 6 (.NET Framework 4.7.2+, .NET 8-10)
- Windows Support: Windows 7 through Windows 11
- Documentation Pages: 6 comprehensive documents
- Code Examples: 50+ working examples
π Related Resources
Internal Links
- Main Krypton Toolkit documentation
- Control reference guides
- Theme system documentation
External Resources
π Support
For questions or issues:
- Check the troubleshooting section
- Review the API reference
- Consult the Krypton Toolkit repository