Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. WINVER related question

WINVER related question

Scheduled Pinned Locked Moved C / C++ / MFC
questionannouncement
5 Posts 2 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Maarten Kools
    wrote on last edited by
    #1

    Hi, I'm currently developing a program which is supposed to run on Windows 98/NT4/ME/2000/XP/whatevercomesafterthis and I was wondering what messing with WINVER might have a result on the program. By that I mean, does the program still work if I set it to like 0x500 or something? I suppose that if it works, the feature used for this version won't be available on Windows 98. MSDN doesn't really enlighten me on this matter, but I was just wondering if this would break the program when running on Windows 98 or anything.

    J 1 Reply Last reply
    0
    • M Maarten Kools

      Hi, I'm currently developing a program which is supposed to run on Windows 98/NT4/ME/2000/XP/whatevercomesafterthis and I was wondering what messing with WINVER might have a result on the program. By that I mean, does the program still work if I set it to like 0x500 or something? I suppose that if it works, the feature used for this version won't be available on Windows 98. MSDN doesn't really enlighten me on this matter, but I was just wondering if this would break the program when running on Windows 98 or anything.

      J Offline
      J Offline
      Joe Woodbury
      wrote on last edited by
      #2

      For 95 and greater the two defines you use are: #define _WIN32_WINDOWS 0x0400 #define WINVER 0x0400 If you're willing to drop NT4 support, but retain 98/ME you'd use: #define _WIN32_WINDOWS 0x0410 #define WINVER 0x0500 Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke

      M 1 Reply Last reply
      0
      • J Joe Woodbury

        For 95 and greater the two defines you use are: #define _WIN32_WINDOWS 0x0400 #define WINVER 0x0400 If you're willing to drop NT4 support, but retain 98/ME you'd use: #define _WIN32_WINDOWS 0x0410 #define WINVER 0x0500 Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke

        M Offline
        M Offline
        Maarten Kools
        wrote on last edited by
        #3

        Right, I did understand that part. But what isn't clear to me is the fact that if I would, e.g. drop NT4 support, would the application still work in NT4? Or will it just fail to run?

        J 1 Reply Last reply
        0
        • M Maarten Kools

          Right, I did understand that part. But what isn't clear to me is the fact that if I would, e.g. drop NT4 support, would the application still work in NT4? Or will it just fail to run?

          J Offline
          J Offline
          Joe Woodbury
          wrote on last edited by
          #4

          If you call a function that is not supported on NT4, your application will fail to start; typically with an entry point not found error (or something similar.) If you use a structure that is extended for other versions of windows, generally the app will work on NT4, but that function may fail or exhibit odd behavior. If you use constants that are not meant for NT4, some functions will fail, others will ignore the new constants. Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke

          M 1 Reply Last reply
          0
          • J Joe Woodbury

            If you call a function that is not supported on NT4, your application will fail to start; typically with an entry point not found error (or something similar.) If you use a structure that is extended for other versions of windows, generally the app will work on NT4, but that function may fail or exhibit odd behavior. If you use constants that are not meant for NT4, some functions will fail, others will ignore the new constants. Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke

            M Offline
            M Offline
            Maarten Kools
            wrote on last edited by
            #5

            Okay, that's pretty clear. Thanks! :)

            1 Reply Last reply
            0
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            • Login

            • Don't have an account? Register

            • Login or register to search.
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • World
            • Users
            • Groups