Updating Resources on Win9x

Environment: Win9x

Windows NT contains some useful functions for updating resources in executables. Those are, however, not implemented on Windows 9x, so I had to write my own library for doing it. My library works in exactly the same manner as the BeginUpdateResource(), UpdateResource() and EndUpdateResource() API functions, just prepend an underscore to their names. It also provides a new function, _GetRsrcData(), which is used to get the resource data for a resource in a file loaded with _BeginUpdateResource().

The code works, at least on my system, but it has one major drawback: it can't move a section in memory. This means that if the .rsrc section would have to be expanded past its padding, _EndUpdateResource() will return ERROR_CANT_MOVE_SECTION unless .rsrc is the last section (both in the file and in VM space). This is a problem because VC6 puts the .reloc section (relocation info, used in DLLs and debug EXEs) after .rsrc, so you can't use the functions very well on those file types.

Downloads

Download source - 7 Kb


Comments

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Live Event Date: April 22, 2014 @ 1:00 p.m. ET / 10:00 a.m. PT Database professionals — whether developers or DBAs — can often save valuable time by learning to get the most from their new or existing productivity tools. Whether you're responsible for managing database projects, performing database health checks and reporting, analyzing code, or measuring software engineering metrics, it's likely you're not taking advantage of some of the lesser-known features of Toad from Dell. Attend this live …

  • The impact of a data loss event can be significant. Real-time data is essential to remaining competitive. Many companies can no longer afford to rely on a truck arriving each day to take backup tapes offsite. For most companies, a cloud backup and recovery solution will eliminate, or significantly reduce, IT resources related to the mundane task of backup and allow your resources to be redeployed to more strategic projects. The cloud - can now be comfortable for you – with 100% recovery from anywhere all …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds