@NamenLozer, Das Beispiel oben im Link gefällt dir wohl nicht ?
@freak4fun, fasst nur eine Copy&Paste Action
Eine AllinOne-Procedure:
Delphi-Quellcode:
procedure AeroSetEnable (enable: boolean);
const
DWM_EC_DISABLECOMPOSITION = 0;
DWM_EC_ENABLECOMPOSITION = 1;
var
DwmEnableComposition: function(uCompositionAction: UINT): HRESULT; stdcall;
DWMlibrary: THandle;
begin
DWMlibrary := LoadLibrary ('DWMAPI.dll');
if DWMlibrary <> 0 then
begin
DwmEnableComposition := GetProcAddress(DWMLibrary, 'DwmEnableComposition');
if @DwmEnableComposition <> nil then
begin
if enable
then DwmEnableComposition(DWM_EC_ENABLECOMPOSITION)
else DwmEnableComposition(DWM_EC_DISABLECOMPOSITION);
end;
end;
FreeLibrary(DWMlibrary);
end;
// Aufruf zum ausschalten des Aeroef.
procedure TForm1.FormCreate(Sender: TObject);
begin
AeroSetEnable(false);
end;
// Edit:
Bin etwas zersteut heute, die Funktion im Link oben ist etwas desulat..
Ich habe mal hier eine einfache Variante bereitgestellt.
Wird die Procedure wie im Beispiel aufgerufen bleibt der Aeroeffect so lange aus bist das
Programm beendet wird.
In Normalfall würde ich
LoadLibrary &
FreeLibrary aus der Procedure lösen und die
DLL
Im Create & Destroy laden bzw. entladen.