AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Ist Windows Animation Aktiv

Ein Thema von Kidi · begonnen am 23. Apr 2019 · letzter Beitrag vom 23. Apr 2019
Antwort Antwort
Kidi

Registriert seit: 14. Okt 2005
Ort: Niederkassel
50 Beiträge
 
Delphi 10.3 Rio
 
#1

Ist Windows Animation Aktiv

  Alt 23. Apr 2019, 05:28
Hallo alle zusammen,
Wie kann ich unter Delphi herausfinden ob, "Animationen in Windows anzeigen" unter Einstellungen/Anzeige, aktiv ist?

mfg
Dietmar
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
955 Beiträge
 
Delphi 7 Professional
 
#2

AW: Ist Windows Animation Aktiv

  Alt 23. Apr 2019, 08:53
Je nach Windows:

http://www.winfaq.de/sphider/search....&db=0&prefix=0

Bitte dort die für Dich passende Variante raussuchen.

U. a. wären da:
HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics
MinAnimate = 1 oder der Wert fehlt

Ist die älteste mir bekannte Variante.
  Mit Zitat antworten Zitat
Kidi

Registriert seit: 14. Okt 2005
Ort: Niederkassel
50 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Ist Windows Animation Aktiv

  Alt 23. Apr 2019, 10:08
Hallo alle zusammen,
Danke für deine Antwort Delphi.Narium, habe aber noch eine Möglichkeit über

Delphi-Quellcode:
var
 Info: TAnimationInfo;
 B: Boolean;
begin
  SystemParametersInfo(SPI_GETANIMATION, SizeOf(Info), @Info, 0);
  B:= Boolean(Info.iMinAnimate)
end;
mfg
Dietmar
  Mit Zitat antworten Zitat
Benutzerbild von EWeiss
EWeiss

Registriert seit: 16. Okt 2010
6.373 Beiträge
 
Delphi 2010 Architect
 
#4

AW: Ist Windows Animation Aktiv

  Alt 23. Apr 2019, 13:55
Ich mache es so..

Delphi-Quellcode:
function TSkinEngine.SetMenuAnimation(HWND: DWORD; MenuAnimation: BOOL): Boolean;
begin

  // Bisherige Einstellung ermitteln:
  result := SystemParametersInfo(SPI_GETMENUANIMATION, 0, @FOldSetting, 0);
  if not result then
    // Result := False;
    // Der abfragende Aufruf war nicht erfolgreich
    exit; // Rückgabewert bleibt False

    // Wert ändern und Erfolg prüfen:
  if Bool(FOldSetting) <> MenuAnimation then
    result := SystemParametersInfo(SPI_SETMENUANIMATION, 0, Pointer(Ord(MenuAnimation)),
      SPIF_SENDCHANGE);
end;
SPI_GETMENUANIMATION mit SPI_GETANIMATION ersetzen.. sollte funktionieren. (aber nicht getestet)

Ich habe die Funktion erstellt damit man bei OwnerDraw Menus das korrekte MenuHandle erhält.
Deaktiviert man die Animation vorher nicht dann ist das Handle immer 0 bei dieser abfrage. (seltsamerweise nur unter Windows 10)

hMenuWnd := WindowFromDC(Pdis^.hDC);

gruss

Geändert von EWeiss (23. Apr 2019 um 14:12 Uhr)
  Mit Zitat antworten Zitat
Kidi

Registriert seit: 14. Okt 2005
Ort: Niederkassel
50 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Ist Windows Animation Aktiv

  Alt 23. Apr 2019, 15:27
Hallo EWeiss,
Wenn SystemParametersInfo mit SPI_GETANIMATION abgefragt wird, läst sich der Rückgabewert nur über TAnimationInfo auslesen.
Deswegen muß als zweiter Parameter SizeOf("TAnimationInfo") angegeben werden.
So hab ich es auf der Microsoft Seite verstanden.
Und es funktioniert auch.

Danke dir für deinen Beitrag

mfg
Dietmar
  Mit Zitat antworten Zitat
Benutzerbild von EWeiss
EWeiss

Registriert seit: 16. Okt 2010
6.373 Beiträge
 
Delphi 2010 Architect
 
#6

AW: Ist Windows Animation Aktiv

  Alt 23. Apr 2019, 15:42
Hallo EWeiss,
Wenn SystemParametersInfo mit SPI_GETANIMATION abgefragt wird, läst sich der Rückgabewert nur über TAnimationInfo auslesen.
Deswegen muß als zweiter Parameter SizeOf("TAnimationInfo") angegeben werden.
So hab ich es auf der Microsoft Seite verstanden.
Und es funktioniert auch.

Danke dir für deinen Beitrag

mfg
Dietmar
Möglich das es bei SPI_GETANIMATION der fall ist.

Ich benötige aber bei SPI_GETMENUANIMATION TAnimationInfo nicht.
Deshalb sagte ich ja
Zitat:
(aber nicht getestet)
gruss
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf