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

  • The mobile market is white hot. Building a well-crafted product development plan that addresses market research, strategy, design, and development will provide the greatest chance for success. Each phase of an app's lifecycle is critical to the its overall success and feeds into the next step of the process of product development for the app. This white paper examines the five key phases of mobile app creation, one by one, to understand how they work together to help create a successful mobile app.

  • According to a 2014 Javelin Strategy & Research Study, there is a new victim of fraud every two seconds – and that's just in the U.S. With identity theft and consumer fraud rising, and more frequent and sizable data breaches in the news, financial institutions need to work harder than ever to protect their customers and their business. Download this white paper to learn how you can use multi-channel communications to minimize the costs of fraud while also increasing customer loyalty.

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date