Zjištění verze Windows, pro kterou je aplikace

Postup:
Ne všechny aplikace mohou běžet na všech verzích Windows. Nejčastějším případem je, že buď aplikace běhá na 16-bitových Windows nebo jen na 32-bitových verzích. Je to způsobeno především nekompatibilitou DLL knihoven.

Ovšem je vhodné umět zjistit, jestli aplikace poběží na aktuální verzi Windows (samozřejmě bez nutnosti tuto aplikaci pouštět).

Type SHFILEINFO
   hIcon As Long
   iIcon As Long
   dwAttributes As Long
   szDisplayName As String * MAX_PATH
   szTypeName As String * 80
End Type

Public Const SHGFI_EXETYPE = &H2000

Public Declare Function SHGetFileInfo Lib "shell32.dll" Alias _
    "SHGetFileInfoA" _
    ( ByVal pszPath As String, ByVal dwFileAttributes As Long, _
    psfi As SHFILEINFO, ByVal cbFileInfo As Long, _
    ByVal uFlags As Long ) As Long

High word obsahuje hlavní  a vedlejší verzi požadovaných Windows. Je to 400 pro Windows 9x/NT 4.0, 500 pro Windows 2000, 30A pro Windows 3.x.

dw = SHGetFileInfo(exename, 0, sfi, Len(sfi), SHGFI_EXETYPE)
hiWord = dw \ &H10000

Zpět

Autor: The Bozena

iReklama.cz - nový reklamní systém
iReklama.cz - nový reklamní systém