Някой може ли да ми даде работещ код, който показва дали Aero интерфейса във Vista/7 е включен?
Намерих долното, но при изпълнение в програма, последната забива:
function IsAeroEnabled: boolean;
type
TDwmIsCompositionEnabledFunc = function (var IsEnabled: Boolean): HRESULT; stdcall;
var
Flag: boolean;
DllHandle: HINST;
OsVersion: TOSVersionInfo;
DwmIsCompositionEnabledFunc: TDwmIsCompositionEnabledFunc;
begin
Result:=false;
DwmIsCompositionEnabledFunc:=nil;
ZeroMemory(@OsVersion, SizeOf(OsVersion));
OsVersion.dwOSVersionInfoSize := SizeOf(TOSVERSIONINFO);
if ((GetVersionEx(OsVersion)) and (OsVersion.dwPlatformId = VER_PLATFORM_WIN32_NT) and (OsVersion.dwMajorVersion >= 6)) then // Vista or Win7
begin
DllHandle := LoadLibrary('dwmapi.dll');
if DllHandle <> 0 then
try
DwmIsCompositionEnabledFunc := GetProcAddress(DllHandle, 'DwmIsCompositionEnabled');
if @DwmIsCompositionEnabledFunc <> nil then
if DwmIsCompositionEnabledFunc(Flag) = S_OK then
Result:=Flag;
finally
if DllHandle > 0 then
FreeLibrary(DllHandle);
end;
end;
end;
Mixy