Articles   Members Online: 3
-Article/Tip Search
-News Group Search over 21 Million news group articles.
-Delphi/Pascal
-CBuilder/C++
-C#Builder/C#
-JBuilder/Java
-Kylix
Member Area
-Home
-Account Center
-Top 10 NEW!!
-Submit Article/Tip
-Forums Upgraded!!
-My Articles
-Edit Information
-Login/Logout
-Become a Member
-Why sign up!
-Newsletter
-Chat Online!
-Indexes NEW!!
Employment
-Build your resume
-Find a job
-Post a job
-Resume Search
Contacts
-Contacts
-Feedbacks
-Link to us
-Privacy/Disclaimer
Embarcadero
Visit Embarcadero
Embarcadero Community
JEDI
Links
How to use Windows detection routines Turn on/off line numbers in source code. Switch to Orginial background IDE or DSP color Comment or reply to this aritlce/tip for discussion. Bookmark this article to my favorite article(s). Print this article
15-Jun-03
Category
System
Language
Delphi 2.x
Views
123
User Rating
No Votes
# Votes
0
Replies
0
Publisher:
DSP, Administrator
Reference URL:
DKB
			 Author: Ronald Buster

Here is how to find out almost everything of windows versions. 

Answer:
1   
2   function IsWin31: Boolean;
3   var
4     OS: TOSVersionInfo;
5   begin
6     ZeroMemory(@OS, SizeOf(OS));
7     OS.dwOSVersionInfoSize := SizeOf(OS);
8     GetVersionEx(OS);
9     Result := (Os.dwPlatformId = VER_PLATFORM_WIN32s);
10  end;
11  
12  function IsWin95: Boolean;
13  var
14    OS: TOSVersionInfo;
15  begin
16    ZeroMemory(@OS, SizeOf(OS));
17    OS.dwOSVersionInfoSize := SizeOf(OS);
18    GetVersionEx(OS);
19    result := (OS.dwMajorVersion >= 4) and (OS.dwMinorVersion = 0) and 
20  (OS.dwPlatformId
21      = VER_PLATFORM_WIN32_WINDOWS);
22  end;
23  
24  function IsWin95OSR2: Boolean;
25  var
26    OS: TOSVersionInfo;
27  begin
28    ZeroMemory(@OS, SizeOf(OS));
29    OS.dwOSVersionInfoSize := SizeOf(OS);
30    GetVersionEx(OS);
31    result := (OS.dwMajorVersion >= 4) and (OS.dwMinorVersion = 0) and
32      (lo(OS.dwBuildNumber) > 1000) and (OS.dwPlatformId = 
33  VER_PLATFORM_WIN32_WINDOWS);
34  end;
35  
36  function IsWinNT: Boolean;
37  var
38    OS: TOSVersionInfo;
39  begin
40    ZeroMemory(@OS, SizeOf(OS));
41    OS.dwOSVersionInfoSize := SizeOf(OS);
42    GetVersionEx(OS);
43    result := OS.dwPlatformId = VER_PLATFORM_WIN32_NT;
44  end;
45  
46  function IsWin98: Boolean;
47  var
48    OS: TOSVersionInfo;
49  begin
50    ZeroMemory(@OS, SizeOf(OS));
51    OS.dwOSVersionInfoSize := SizeOf(OS);
52    GetVersionEx(OS);
53    result := (OS.dwMajorVersion >= 4) and (OS.dwMinorVersion > 0) and 
54  (OS.dwPlatformId
55      = VER_PLATFORM_WIN32_WINDOWS);
56  end;
57  
58  function IsWin98se: Boolean;
59  var
60    OS: TOSVersionInfo;
61  begin
62    ZeroMemory(@OS, SizeOf(OS));
63    OS.dwOSVersionInfoSize := SizeOf(OS);
64    GetVersionEx(OS);
65    result := (OS.dwMajorVersion >= 4) and (OS.dwMinorVersion > 0) and
66      (lo(OS.dwBuildNumber) > 2000) and (OS.dwPlatformId = 
67  VER_PLATFORM_WIN32_WINDOWS);
68  end;
69  
70  function IsWin2000: Boolean;
71  var
72    OS: TOSVersionInfo;
73  begin
74    ZeroMemory(@OS, SizeOf(OS));
75    OS.dwOSVersionInfoSize := SizeOf(OS);
76    GetVersionEx(OS);
77    result := (OS.dwMajorVersion >= 5) and (OS.dwPlatformId = VER_PLATFORM_WIN32_NT);
78  end;
79  
80  function IsWinXP: Boolean;
81  var
82    OS: TOSVersionInfo;
83  begin
84    ZeroMemory(@OS, SizeOf(OS));
85    OS.dwOSVersionInfoSize := SizeOf(OS);
86    GetVersionEx(OS);
87    result := (OS.dwMajorVersion >= 5) and (OS.dwMinorVersion >= 1) and 
88  (OS.dwPlatformId
89      = VER_PLATFORM_WIN32_NT);
90  end;
91  
92  function IsWinMe: Boolean;
93  var
94    OS: TOSVersionInfo;
95  begin
96    ZeroMemory(@OS, SizeOf(OS));
97    OS.dwOSVersionInfoSize := SizeOf(OS);
98    GetVersionEx(OS);
99    result := (OS.dwMajorVersion >= 4) and (OS.dwMinorVersion >= 90) and 
100 (OS.dwPlatformId
101     = VER_PLATFORM_WIN32_WINDOWS);
102 end;
103 
104 function GetNTType: string;
105 var
106   r: TRegistry;
107   ts: string;
108 begin
109 
110   Result := '[UNKNOWN]';
111 
112   if IsWinNT then
113   begin
114     r := TRegistry.Create;
115     r.RootKey := HKEY_LOCAL_MACHINE;
116     r.OpenKey('SYSTEM\CurrentControlSet\Control\ProductOptions', False);
117     ts := AnsiUpperCase(R.ReadString('ProductType'));
118     r.Free;
119     if (ts = 'WINNT') then
120     begin
121       result := 'Workstation';
122       if IsWin2000 then
123         result := 'Professional';
124     end
125     else if (ts = 'SERVERNT') then
126     begin
127       result := 'Server';
128     end
129     else if (ts = 'LANMANNT') then
130     begin
131       result := 'Advanced Server';
132     end;
133   end;
134 
135 end;



			
Vote: How useful do you find this Article/Tip?
Bad Excellent
1 2 3 4 5 6 7 8 9 10

 

Advertisement
Share this page
Advertisement
Download from Google

Copyright © Mendozi Enterprises LLC