|
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 |