AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Neuzeichnen des Desktops verhindern?

Ein Thema von MicMic · begonnen am 14. Okt 2019 · letzter Beitrag vom 14. Okt 2019
Antwort Antwort
MicMic

Registriert seit: 26. Mai 2018
296 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Neuzeichnen des Desktops verhindern?

  Alt 14. Okt 2019, 20:19
Hallo,
ich merke, dass bei Delphi Programmen beim Start (kurz bevor die Form angezeigt wird) meine Desktop-Symbole kurz 1x flackern. Da habe ich gleich mal MS Edge, Windows Live Mail usw. ausprobiert. Da ist dieses Verhalten nicht zu sehen. Kann ich das irgendwie unterbinden?

Ein kurzer Test mit "LockWindowUpdate(GetDesktopWindow)" vor "Application.Initialize" hat kein Erfolg gebracht.

Hat vielleicht jemand eine Idee?

Gruß
Mic
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Neuzeichnen des Desktops verhindern?

  Alt 14. Okt 2019, 20:41
Was macht dein Programm?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
MicMic

Registriert seit: 26. Mai 2018
296 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

AW: Neuzeichnen des Desktops verhindern?

  Alt 14. Okt 2019, 21:51
Ich habe mir mal für meinen Thread (TThread) etwas herausgesucht.
In diesem Thread gebe ich "OleInitialize(Nil)" an. Warum weiß ich eigentlich nicht *lach*. Es war halt im Beispiel dabei.
Hat lange gedauert aber jetzt habe ich herausgefunden, dass dieser Befehl das einmalige flackern der Desktop-Symbole verursacht.

Im Thread nutze ich auch "Wow64EnableWow64FsRedirection" (das kenne ich). Hat OleInitialize(Nil) damit was zu tun?

Also ich gebe es so an.
Delphi-Quellcode:
{$IFDEF WIN32}
 If IsWindows64 Then Wow64EnableWow64FsRedirection(False);
{$ENDIF}
OleInitialize(Nil);

// Hier dann Funktionen zum abarbeiten von Verzeichnissen

OleUninitialize;
{$IFDEF WIN32}
 If IsWindows64 Then Wow64EnableWow64FsRedirection(True);
{$ENDIF}
Wie gesagt, es war so in einem Beispiel angegeben. Auch stand dabei, dass "OleInitialize" hier im Thread zusätzlich angegeben werden muss, auch wenn man es außerhalb des Threads nutzt. Oder ging es um "Wow64EnableWow64FsRedirection"? Ist schon lange her. Jedenfalls wenn ich "OleInitialize(Nil)" raus nehme, flackern dann die Desktop-Symbole nicht.

Gruß
Mic
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz