When I was in seek of information on how to distinguish the two I posted the question to a newsgroup and here are two replies:
1. THE PREFERED WAY
>> "Call the GetVersionEx Windows API. If the VER_SUITE_PERSONAL flag =
is set in the OSVERSIONINFOEX structure, it's XP Home." <<
That is close. Searching the MS site for GetVersionEx I found Platform SDK: Windows System Information
GetVersionEx
The GetVersionEx function obtains extended information about the version of the operating system that is currently running.
Windows 2000/XP: To compare the current system version to a required version, use the VerifyVersionInfo function instead of using GetVersionEx to perform the comparison yourself.
Go to VerifyVersionInfo at
http://msdn.microsof...rary....usv.asp
for more info.
2. A POSSIBLE WAY
Here is a possible hint:
HKLM\Software\Microsoft\Windows\CurrentVersion and the ProductId field. I would imagine there is a different product ID for the Pro version and the HE version.
---
However, I've not actually tried any of these techniques to see if they actually work. From the sounds of it, GetVersionEx has problems. It's worth giving VerifyVersionInfo a try, but I would think the two would use the same information. Just the latter returns the answer in a cleaner format.
If I have time this week at work, I'll try them out 'cause I'll need to be able to do this in the future. Hopefully someone else has an idea though.
(Edited by TacoBell00 at 1:04 pm on Jan. 13, 2002)