This appendix originally appeared in Inside the Windows 95 Registry (O’Reilly & Associates, Inc.), by Ron Petrusha. Because a couple of the registry settings discussed in Chapter 2, depend on the operating system version, and because programmatically determining the operating system version is not as easy as it might seem, this excellent information is reproduced here. Many thanks to Ron and to O’Reilly for allowing me to do so.
Where Am I Running?
by Ron Petrusha
Originally published as Appendix A in Inside the Windows 95 Registry
Such a seemingly simple task as determining the version of the operating system on which an application is running has been surprisingly difficult for many programmers. In the past, the enormous prevalence of errors in version checking in both DOS and Windows applications led Microsoft to various forms of DOS and Windows version “spoofing” simply to compensate for the fact that developers didn’t quite get it right. The introduction of Microsoft’s 32-bit platforms in many ways has made a confusing situation even more confusing. In this appendix, we’ll review how you determine the platform on which your application is running.
What does this have to do with the registry? Since the registry API—and, more important, the registries themselves—are so different in Windows 3.1, Windows 95, and Windows NT, it’s important to know which platform your registry-enabled application is running on. Notice that the distinction here is ...