|
@@ -48,6 +48,11 @@ type
|
|
|
|
|
|
Var
|
|
|
Win32Platform : Longint;
|
|
|
+ Win32MajorVersion,
|
|
|
+ Win32MinorVersion,
|
|
|
+ Win32BuildNumber : dword;
|
|
|
+ Win32CSDVersion : ShortString; // CSD record is 128 bytes only?
|
|
|
+
|
|
|
|
|
|
implementation
|
|
|
|
|
@@ -669,27 +674,25 @@ end;
|
|
|
****************************************************************************}
|
|
|
|
|
|
var
|
|
|
- versioninfo : TOSVERSIONINFO;
|
|
|
kernel32dll : THandle;
|
|
|
|
|
|
-function FreeLibrary(hLibModule : THANDLE) : longbool;
|
|
|
- stdcall;external 'kernel32' name 'FreeLibrary';
|
|
|
-function GetVersionEx(var VersionInformation:TOSVERSIONINFO) : longbool;
|
|
|
- stdcall;external 'kernel32' name 'GetVersionExA';
|
|
|
-function LoadLibrary(lpLibFileName : pchar):THandle;
|
|
|
- stdcall;external 'kernel32' name 'LoadLibraryA';
|
|
|
-function GetProcAddress(hModule : THandle;lpProcName : pchar) : pointer;
|
|
|
- stdcall;external 'kernel32' name 'GetProcAddress';
|
|
|
-
|
|
|
+Procedure LoadVersionInfo;
|
|
|
+// and getfreespaceex
|
|
|
+Var
|
|
|
+ versioninfo : TOSVERSIONINFO;
|
|
|
+ i : Integer;
|
|
|
|
|
|
-Initialization
|
|
|
- InitExceptions; { Initialize exceptions. OS independent }
|
|
|
- InitInternational; { Initialize internationalization settings }
|
|
|
+begin
|
|
|
+ kernel32dll:=0;
|
|
|
+ GetDiskFreeSpaceEx:=nil;
|
|
|
versioninfo.dwOSVersionInfoSize:=sizeof(versioninfo);
|
|
|
GetVersionEx(versioninfo);
|
|
|
- kernel32dll:=0;
|
|
|
- GetDiskFreeSpaceEx:=nil;
|
|
|
Win32Platform:=versionInfo.dwPlatformId;
|
|
|
+ Win32MajorVersion:=versionInfo.dwMajorVersion;
|
|
|
+ Win32MinorVersion:=versionInfo.dwMinorVersion;
|
|
|
+ Win32BuildNumber:=versionInfo.dwBuildNumber;
|
|
|
+ Move (versioninfo.szCSDVersion ,Win32CSDVersion[1],128);
|
|
|
+ win32CSDVersion[0]:=chr(strlen(pchar(@versioninfo.szCSDVersion)));
|
|
|
if ((versioninfo.dwPlatformId=VER_PLATFORM_WIN32_WINDOWS) and
|
|
|
(versioninfo.dwBuildNUmber>=1000)) or
|
|
|
(versioninfo.dwPlatformId=VER_PLATFORM_WIN32_NT) then
|
|
@@ -702,6 +705,23 @@ Initialization
|
|
|
GetDiskFreeSpaceEx:=TGetDiskFreeSpaceEx(GetProcAddress(kernel32dll,'GetDiskFreeSpaceExA'));
|
|
|
{$ENDIF}
|
|
|
end;
|
|
|
+end;
|
|
|
+
|
|
|
+
|
|
|
+function FreeLibrary(hLibModule : THANDLE) : longbool;
|
|
|
+ stdcall;external 'kernel32' name 'FreeLibrary';
|
|
|
+function GetVersionEx(var VersionInformation:TOSVERSIONINFO) : longbool;
|
|
|
+ stdcall;external 'kernel32' name 'GetVersionExA';
|
|
|
+function LoadLibrary(lpLibFileName : pchar):THandle;
|
|
|
+ stdcall;external 'kernel32' name 'LoadLibraryA';
|
|
|
+function GetProcAddress(hModule : THandle;lpProcName : pchar) : pointer;
|
|
|
+ stdcall;external 'kernel32' name 'GetProcAddress';
|
|
|
+
|
|
|
+
|
|
|
+Initialization
|
|
|
+ InitExceptions; { Initialize exceptions. OS independent }
|
|
|
+ InitInternational; { Initialize internationalization settings }
|
|
|
+ LoadVersionInfo;
|
|
|
|
|
|
Finalization
|
|
|
DoneExceptions;
|
|
@@ -710,7 +730,10 @@ Finalization
|
|
|
end.
|
|
|
{
|
|
|
$Log$
|
|
|
- Revision 1.25 2003-10-25 23:44:33 hajny
|
|
|
+ Revision 1.26 2003-11-06 22:25:10 marco
|
|
|
+ * added some more of win32* delphi pseudo constants
|
|
|
+
|
|
|
+ Revision 1.25 2003/10/25 23:44:33 hajny
|
|
|
* THandle in sysutils common using System.THandle
|
|
|
|
|
|
Revision 1.24 2003/09/17 15:06:36 peter
|