Just When I Though It Was Over
Classes can implement the IResourceDecoder or IResourceEncoder to read and write to a .RES file. Right now there are decoders for bitmap, icons, cursors, group icons, group cursors and string tables. I will write encoders for those types and that should be enough to cover 99% of everything. For resources that aren't supported, they are still read and written as byte arrays.
The enumeration is robust in that each resource now has a unique key, and each string in a string table is returned individually.
I'll implement the same functionality when dealing with resources in executable files also. Reading is supported on all systems, but writing seems to be supported on only NT machines.
Off I go..