Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Netwerk Datei/Icon Status? (https://www.delphipraxis.net/197337-netwerk-datei-icon-status.html)

MicMic 31. Jul 2018 14:40

Netwerk Datei/Icon Status?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
im Explorer (siehe Anhang) wird bei der Datei "Ein Test" noch ein Status angezeigt (das grüne). Ich glaube es ist kein richtiges Overlay Icon. Da gibt es bestimmt auch weitere (vielleicht was rotes "nicht verfügbar" oder so in der Art). Ich dachte die werden dann mit "SHGetFileInfo" richtig ermittelt (geht nämlich auch mit diesen Ordnern "Documents, Desktop etc." auf der lokalen Festplatte. Die haben auch so ein Overlay drin, sind aber keine richtigen Overlays). Bei dem Ordner "FRITZ" (das x) handelt es sich wohl um ein echtes Overlay Icon. Jedenfalls nutze ich "SHGetFileInfo" (für normale Icons) und "SHGetStockIconInfo" für Verknüpfungspfeile im Icon (Overlay Icon) und für freigegebene Ordner ebenfalls ein kleines zusätzliches Icon im Icon (Overlay Icon). Das ermittle ich mit SFGAO_LINK (Index zum Icon mit SIID_LINK) und mit SFGAO_SHARE (Index zum Icon mit SIID_SHARE). Das geht alles. Auch im Netzwerk. Aber ich finde keine speziellen "SFGAO_" und "SIID_" Flags um solch ein Status fürs Netzwerk zu ermitteln/anzuzeigen.

Meine Anwendung zeigt jedenfalls beide Text-Dateien ganz normal an. Also mit diesem "*.txt" Icon. Und der Ordner ist ohne "x". Nun möchte ich auch ein Icon Status fürs Netzwerk haben. Das muss man ja irgendwie abfragen (das 1. Problem was ich habe) und dann natürlich auch anzeigen (das 2. Problem an ein Icon Index zu kommen für die System Image List) können.

Hat da jemand vielleicht eine Idee?

Michael

Hobbycoder 31. Jul 2018 16:31

AW: Netwerk Datei/Icon Status?
 
"Das Grüne" ist ein Zusatzsymbol, welches auf Synchronisierung mit einem Server hinweist. Ist dieser nicht Synchron ändert sich das Zusatzsymbol. Warum sollte das kein Overlay sein?

MicMic 31. Jul 2018 16:42

AW: Netwerk Datei/Icon Status?
 
Zitat:

Zitat von Hobbycoder (Beitrag 1409240)
"Das Grüne" ist ein Zusatzsymbol, welches auf Synchronisierung mit einem Server hinweist. Ist dieser nicht Synchron ändert sich das Zusatzsymbol. Warum sollte das kein Overlay sein?

Ja, wenn ich drüber nachdenke... klar ein Overlay denn der Status wird ja wohl auch bei anderen Dateitypen zur Ansicht kommen.
Ich such jedenfalls schon den halben Tag wie man Status&Icon abfragen kann.
Noch nix gefunden. Das wird wohl bissl kompliziert sein.

Michael

KodeZwerg 31. Jul 2018 17:22

AW: Netwerk Datei/Icon Status?
 
Wenn ich mich Richtig Erinnere, könntest Du über JAM Softwares / Mike Lichkes VirtualTreeView Erfahren wie das mit Icons und aktuellem Overlays ausschaut.

MicMic 31. Jul 2018 19:25

AW: Netwerk Datei/Icon Status?
 
Danke für die Info zu JAM Softwares
Ich habe mal reingeschaut und bissl gesucht. Ich glaub ich bin zu blöd das entsprechende zu finden :)

Michael

MicMic 31. Jul 2018 19:42

AW: Netwerk Datei/Icon Status?
 
Ich könnte mir vorstellen, dass mit SHGetFileInfo und dem Falg SHGFI_LINKOVERLAY bzw SHGFI_ADDOVERLAYS das alles automatisch funktionieren könnte.
Mit SHGFI_LINKOVERLAY steht beschrieben (mit Google Übersetzer) "Der Wert des Überlagerungsindex wird in den oberen acht Bits des iIcon- Members der durch psfi angegebenen Struktur zurückgegeben". Das hatte ich mal versucht... irgendwas mit "oindex := psfi.iIcon SHL 24 and $00..." irgendwie sowas in der Art aber es kam nie das entsprechende Index zum Overlay-Icon zurück.

Vielleicht waren es ja keine "oberen acht Bits" mit diesem SHL 24...

Michael

MicMic 4. Aug 2018 06:19

AW: Netwerk Datei/Icon Status?
 
Das mit den Overlay-Icons im Netzwerk habe ich jetzt rausgefunden.
Stichworte: IShellFolder,IShellIconOverlay,GetOverlayIconIndex

Michael


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:42 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