gpt4 book ai didi

windows - 如何检测 Delphi 7 上的 Windows Aero 主题?

转载 作者:可可西里 更新时间:2023-11-01 09:48:08 25 4
gpt4 key购买 nike

如何通过 Delphi 7 上的代码检测到用户正在其操作系统上运行 Windows Aero 主题?

最佳答案

我们需要使用的函数是 Dwmapi.DwmIsCompositionEnabled,但它不包含在 Delphi 7 附带的 Windows header 翻译中,而是在 Delphi 7 之后发布的 Vista 中添加的。它也崩溃了Windows XP 上的应用程序 - 因此在检查 if Win32MajorVersion >= 6 后调用它。

function IsAeroEnabled: Boolean;
type
TDwmIsCompositionEnabledFunc = function(out pfEnabled: BOOL): HRESULT; stdcall;
var
IsEnabled: BOOL;
ModuleHandle: HMODULE;
DwmIsCompositionEnabledFunc: TDwmIsCompositionEnabledFunc;
begin
Result := False;
if Win32MajorVersion >= 6 then // Vista or Windows 7+
begin
ModuleHandle := LoadLibrary('dwmapi.dll');
if ModuleHandle <> 0 then
try
@DwmIsCompositionEnabledFunc := GetProcAddress(ModuleHandle, 'DwmIsCompositionEnabled');
if Assigned(DwmIsCompositionEnabledFunc) then
if DwmIsCompositionEnabledFunc(IsEnabled) = S_OK then
Result := IsEnabled;
finally
FreeLibrary(ModuleHandle);
end;
end;
end;

关于windows - 如何检测 Delphi 7 上的 Windows Aero 主题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14732301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com