Thread: 2000/XP Compatibility Modes

  1. #1
    Registered /usr
    Join Date
    Aug 2001
    Newport, South Wales, UK

    Question 2000/XP Compatibility Modes


    I've been wondering what causes a Windows 95 program (I've not heard of it being needed for Win98-based programs) to require the use of the compatibility layer under Windows 2000/XP. Is it purely the use of ancient versions of DirectX (Which is supposedly backwards-compatible), or were people using weird memory hacks and stuff for performance?

  2. #2
    ¡Amo fútbol!
    Join Date
    Dec 2001
    Greater memory protection, greater security enhancements, etc.

  3. #3
    Registered User major_small's Avatar
    Join Date
    May 2003
    windows 2000/NT/XP are different operating systems than windows 9x, which is completely different from DOS... windows 3.x isn't an OS, it's a glorified GUI...

    windows ME isn't anything... it never existed...
    Join is in our Unofficial Cprog IRC channel
    Channel: #Tech

    Team Cprog Folding@Home: Team #43476
    Download it Here
    Detailed Stats Here
    More Detailed Stats
    52 Members so far, are YOU a member?
    Current team score: 1223226 (ranked 374 of 45152)

    The CBoard team is doing better than 99.16% of the other teams
    Top 5 Members: Xterria(518175), pianorain(118517), Bennet(64957), JaWiB(55610), alphaoide(44374)

    Last Updated on: Wed, 30 Aug, 2006 @ 2:30 PM EDT

  4. #4
    Registered /usr
    Join Date
    Aug 2001
    Newport, South Wales, UK
    Quote Originally Posted by golfinguy4
    Greater memory protection, greater security enhancements, etc.
    So what are you saying, that because of these enhancements some Win95 programs won't work? I've made programs in Visual C++ that can be run on any version of Win32. Do the ones that don't work have fudged code?

  5. #5
    Yes, my avatar is stolen anonytmouse's Avatar
    Join Date
    Dec 2002
    You can download the Application Compatibility Toolkit to browse the list of fixes available and view the "hall of shame", a list of a couple of hundred applications that have fixes pre-applied. Unfortunately, the download is 23MB(which includes 6MB of Word and Excel viewers, just in case!) but that also includes the useful Application Verifier utility that checks your application for such things as security lapses, memory corruption and compatibility issues.

    Here are a few of the more common fixes:

    Hooks the GetVersion and GetVersionEx APIs so that they return Windows 95 version credentials. Applications often check to ensure that they are running on a Win9x system, even though they will run OK on an NT based system.


    Some applications attempt to directly read the "Shell Folders" values in HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER, which would return the folders for the user performing the install. This compatibility fix returns the common path so that the application will be available for all users of the computer after install. Applies to: Windows 95, Windows 98


    Applications may incorrectly attempt to write to the HKEY_LOCAL_MACHINE portion of the registry. This compatibility fix redirects the registry keys to the HKEY_CURRENT_USER hive when the application doesn't have the necessary permissions.


    In Windows 9x, the DrawText API would accept out of range values and then convert them to acceptable values. This compatibility fix mimics that behavior for Windows XP. Applies to: Windows 95, Windows 98


    This compatibility fix corrects file paths that were changed between Windows 9x and Windows XP. It works by hooking the file APIs and converting the file paths to the correct location for Windows XP. For example, a Windows 9x path of C:\Windows\Write.exe would be converted to C:\Windows\System32\Write.exe. Applies to: Windows 95, Windows 98

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Replies: 2
    Last Post: 06-02-2008, 10:00 PM
  2. bool typedef and binary compatibility
    By BattlePanic in forum C Programming
    Replies: 2
    Last Post: 05-08-2008, 08:04 AM
  3. Virtual keys
    By Arkanos in forum Windows Programming
    Replies: 4
    Last Post: 12-12-2005, 10:00 AM
  4. Compatibility Problems with Dev-C++
    By Razorblade Kiss in forum Tech Board
    Replies: 3
    Last Post: 12-18-2004, 04:15 PM
  5. String and char* compatibility
    By larry in forum C++ Programming
    Replies: 2
    Last Post: 09-30-2001, 05:20 AM