Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity type="win32" name="App" version="3.1.0.0" processorArchitecture="*"/>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!--The ID below indicates application support for Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<!--The ID below indicates application support for Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<!--The ID below indicates application support for Windows 8 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
<!--The ID below indicates application support for Windows 8.1 -->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
<!--The ID below indicates application support for Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
</application>
</compatibility></assembly>
asInvoker: The application will run with the same permissions as the process that started it. The application can be elevated to a higher permission level by selecting Run as Administrator.
highestAvailable: The application will run with the highest permission level that it can. If the user who starts the application is a member of the Administrators group, this option is the same as requireAdministrator. If the highest available permission level is higher than the level of the opening process, the system will prompt for credentials.
requireAdministrator: The application will run with administrator permissions. The user who starts the application must be a member of the Administrators group. If the opening process is not running with administrative permissions, the system will prompt for credentials.
1 24 Win8Theme.manifest
"C:\Delphi3\Delphi 3\BIN\BRCC32.EXE" Win8Theme.RC
"C:\Delphi3\Delphi 3\BIN\DCC32.EXE" Win8Theme.pas
"C:\Delphi3\Delphi 3\BIN\DCC32.EXE" Project1.dpr
pause
{$D- $L-}
unit Win8Theme;
interface
uses commctrl, forms, sysutils;
implementation
// this line will include the manifest resource
{$R Win8Theme.res}
initialization
// this call is necessary for the newer "theme" controls. Note YMMV on Common Controls 6.0
// ("theme controls") and you may require other corrective changes in your programs for
// those to work
InitCommonControls;
end.
unit newversiontests;
// compiled / written by Glenn9999 on tek-tips.com on 06/06/2015
interface
uses windows, sysutils;
const
VER_SERVICEPACKMAJOR = $0000010;
VER_MAJORVERSION = $0000002;
VER_MINORVERSION = $0000001;
VER_NT_WORKSTATION = 1;
VER_PRODUCT_TYPE = $80;
VER_EQUAL = 1;
VER_GREATER = 2;
VER_GREATER_EQUAL = 3;
VER_LESS = 4;
VER_LESS_EQUAL = 5;
VER_AND = 6;
VER_OR = 7;
WIN32_WINNT_NT4 = $0400;
WIN32_WINNT_WIN2K = $0500;
WIN32_WINNT_WINXP = $0501;
WIN32_WINNT_WS03 = $0502;
WIN32_WINNT_VISTA = $0600;
WIN32_WINNT_WS08 = $0600;
WIN32_WINNT_LONGHORN = $0600;
WIN32_WINNT_WIN7 = $0601;
WIN32_WINNT_WIN8 = $0602;
WIN32_WINNT_WINBLUE = $0603;
WIN32_WINNT_WIN10 = $0A00;
kernel32 = 'kernel32.dll';
type
OSVERSIONINFOEX = record
dwOSVersionInfoSize: DWord;
dwMajorVersion: DWord;
dwMinorVersion: DWord;
dwBuildNumber: DWord;
dwPlatformID: DWord;
szCSDVersion: array[1..128] of char;
wServicePackMajor: Word;
wServicePackMinor: Word;
wSuiteMask: Word;
wProductType: Byte;
wReserved: Byte;
end;
function IsWindowsXPOrGreater: Bool; stdcall;
function IsWindowsXPSP1OrGreater: Bool; stdcall;
function IsWindowsXPSP2OrGreater: Bool; stdcall;
function IsWindowsXPSP3OrGreater: Bool; stdcall;
function IsWindowsVistaOrGreater: Bool; stdcall;
function IsWindowsVistaSP1OrGreater: Bool; stdcall;
function IsWindowsVistaSP2OrGreater: Bool; stdcall;
function IsWindows7OrGreater: Bool; stdcall;
function IsWindows7SP1OrGreater: Bool; stdcall;
function IsWindows8OrGreater: Bool; stdcall;
function IsWindows8Point1OrGreater: Bool; stdcall;
function IsWindows10OrGreater: Bool; stdcall;
function IsWindowsServer: Bool; stdcall;
function IsWindowsVersionOrGreater(wMajorVersion, wMinorVersion,
wServicePackMajor: Word): Bool; stdcall;
implementation
function VerifyVersionInfo(var LPOSVERSIONINFOEX : OSVERSIONINFOEX;
dwTypeMask: DWORD;dwlConditionMask: int64): BOOL; stdcall;
external kernel32 name 'VerifyVersionInfoA';
function VerSetConditionMask(dwlConditionMask: int64;dwTypeBitMask: DWORD;
dwConditionMask: Byte): int64; stdcall; external kernel32;
function IsWindowsVersionOrGreater;
var
osvi: OSVersionInfoEX;
condmask: Int64;
begin
FillChar(osvi, sizeof(osvi), 0);
osvi.dwOSVersionInfoSize := SizeOf(osvi);
FillChar(condmask, 8, 0);
condmask := VerSetConditionMask(condmask, VER_MAJORVERSION, VER_GREATER_EQUAL);
condmask := VerSetConditionMask(condmask, VER_MINORVERSION, VER_GREATER_EQUAL);
condmask := VerSetConditionMask(condmask, VER_SERVICEPACKMAJOR, VER_GREATER_EQUAL);
osvi.dwMajorVersion := wMajorVersion;
osvi.dwMinorVersion := wMinorVersion;
osvi.wServicePackMajor := wServicePackMajor;
Result := VerifyVersionInfo(osvi, VER_MAJORVERSION or VER_MINORVERSION or VER_SERVICEPACKMAJOR,
condmask) <> false;
end;
function IsWindowsXPOrGreater;
begin
Result := IsWindowsVersionOrGreater(HiByte(WIN32_WINNT_WINXP), LOBYTE(WIN32_WINNT_WINXP),0);
end;
function IsWindowsXPSP1OrGreater;
begin
Result := IsWindowsVersionOrGreater(HiByte(WIN32_WINNT_WINXP), LOBYTE(WIN32_WINNT_WINXP),1);
end;
function IsWindowsXPSP2OrGreater;
begin
Result := IsWindowsVersionOrGreater(HiByte(WIN32_WINNT_WINXP), LOBYTE(WIN32_WINNT_WINXP),2);
end;
function IsWindowsXPSP3OrGreater;
begin
Result := IsWindowsVersionOrGreater(HiByte(WIN32_WINNT_WINXP), LOBYTE(WIN32_WINNT_WINXP),3);
end;
function IsWindowsVistaOrGreater;
begin
Result := IsWindowsVersionOrGreater(HIBYTE(WIN32_WINNT_VISTA), LOBYTE(WIN32_WINNT_VISTA), 0);
end;
function IsWindowsVistaSP1OrGreater;
begin
Result := IsWindowsVersionOrGreater(HIBYTE(WIN32_WINNT_VISTA), LOBYTE(WIN32_WINNT_VISTA), 1);
end;
function IsWindowsVistaSP2OrGreater;
begin
Result := IsWindowsVersionOrGreater(HIBYTE(WIN32_WINNT_VISTA), LOBYTE(WIN32_WINNT_VISTA), 2);
end;
function IsWindows7OrGreater;
begin
Result := IsWindowsVersionOrGreater(HIBYTE(WIN32_WINNT_WIN7), LOBYTE(WIN32_WINNT_WIN7), 0);
end;
function IsWindows7SP1OrGreater;
begin
Result := IsWindowsVersionOrGreater(HIBYTE(WIN32_WINNT_WIN7), LOBYTE(WIN32_WINNT_WIN7), 0);
end;
function IsWindows8OrGreater;
begin
Result := IsWindowsVersionOrGreater(HIBYTE(WIN32_WINNT_WIN8), LOBYTE(WIN32_WINNT_WIN8), 0);
end;
function IsWindows8Point1OrGreater;
begin
Result := IsWindowsVersionOrGreater(HIBYTE(WIN32_WINNT_WINBLUE), LOBYTE(WIN32_WINNT_WINBLUE), 0);
end;
function IsWindows10OrGreater;
begin
Result := IsWindowsVersionOrGreater(HIBYTE(WIN32_WINNT_WIN10), LOBYTE(WIN32_WINNT_WIN10), 0);
end;
function IsWindowsServer;
var
osvi: OSVersionInfoEX;
condmask: Int64;
begin
FillChar(osvi, sizeof(osvi), 0);
osvi.dwOSVersionInfoSize := SizeOf(osvi);
FillChar(condmask, 8, 0);
condmask := VerSetConditionMask(condmask, VER_PRODUCT_TYPE, VER_EQUAL );
osvi.wProductType := VER_NT_WORKSTATION;
Result := not VerifyVersionInfo(osvi, VER_PRODUCT_TYPE, condmask) <> false;
end;
end.