Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Desktop Icons Typ und Alter ermitteln. (https://www.delphipraxis.net/120070-desktop-icons-typ-und-alter-ermitteln.html)

Mavarik 5. Sep 2008 08:45


Desktop Icons Typ und Alter ermitteln.
 
Hallo Zusammen!

Die Frage ist, wo finde ich die Information wie "Alt" ein Icon auf dem Desktop ist und
wie kann ich den Typ ermitteln?

Ich habe alle Icons vom Desktop mit Listview usw. ausgelesen und will diese neu positionieren...
Soweit so gut... :thumb:

Icons die in der Caption eine Extention haben sind einfacher, aber z.B. Verknüpfungen haben ggf. einen
freien Text (Beispiel "Cooler Link") für einen URL Link oder (Mein Programm) für Dummy.exe

Alle Captions ohne Extention müssen somit "einzeln behandelt werden". Ideen?

Das nächste ist:

Wenn ich eine Datei aus dem Internet downloade speicher ich diese auf dem Desktop...

Jetzt möchte ich aber nicht, dass diese neue Datei "in der Sortierung" verschwindet, sondern an einer
ganz bestimmten Stelle auf dem Desktop plaziert wird... Hierfür benötige ich das Erzeugungsdatum. Ideen?

Grüsse Frank :coder:

Luckie 5. Sep 2008 08:54

Re: Desktop Icons Typ und Alter ermitteln.
 
Zitat:

Zitat von Mavarik
Wenn ich eine Datei aus dem Internet downloade speicher ich diese auf dem Desktop...

Jetzt möchte ich aber nicht, dass diese neue Datei "in der Sortierung" verschwindet, sondern an einer
ganz bestimmten Stelle auf dem Desktop plaziert wird... Hierfür benötige ich das Erzeugungsdatum. Ideen?

Warum das? Verknüpfungen haben die Dateinamenerweiterung "lnk". Und ich halte es für sehr unwahrscheinlich, dass du eine Verknüpfung aus dem Internet runterlädst bzw. die Wahrscheinlichkiet, dass du mal eine datei mit der Dateinamenerweiterung "lnk" runterlädst, ist sehr gering.

Was meinst du mit "Typ"?

Die Verknüpfungen des Desktops liegen in dem Ordner "Desktop" in den Benutzerprofilen. Dabei stammen die Verknüpfungen aus dem Desktopordner des Benutzers selber und dem Desktopordner aus dem Profil "AllUsers".

Mavarik 5. Sep 2008 09:12

Re: Desktop Icons Typ und Alter ermitteln.
 
Zitat:

Zitat von Luckie
Warum das? Verknüpfungen haben die Dateinamenerweiterung "lnk". Und ich halte es für sehr unwahrscheinlich, dass du eine Verknüpfung aus dem Internet runterlädst bzw. die Wahrscheinlichkiet, dass du mal eine datei mit der Dateinamenerweiterung "lnk" runterlädst, ist sehr gering.

Ja aber "nur" auf der Festplatte :stupid:

Ich wollte mir eigentlich den Weg über das "doppelte" einlesen sparen.
Ich hole mir die Icons zur Zeit nicht von der Platte, sondern über die "Desktop Listview".
Ich hatte gehofft es gibt einen Sendmessage(hDesktopLV, LVM_Age,0) oder so.... :stupid:

Zitat:

Zitat von Luckie
Was meinst du mit "Typ"?

Na Link,Exe,PDF alles was das Icon beeinflusst. usw...
Die Caption kann halt "A","B","C" sein und einmal ist es eine URL oder EXE oder was auch immer...

Ich hatte gehofft es gibt einen Sendmessage(hDesktopLV, LVM_TypeInfo,0) oder so.... :stupid:


Grüsse Frank :coder:

Luckie 5. Sep 2008 09:30

Re: Desktop Icons Typ und Alter ermitteln.
 
Also was du so alles hoffst. Also um rauszubekommen was für ein Dateityp hinter der Verknüpfung steckt, musst du wohl die Verknüpfungsdatei auslesen. Da wird kein Weg dran vorbei führen. Genauso was das Alter angeht. Da wird auch nur helfen, das datum der Verknüpfungsdatei zu ermitteln. Der Listview stellt doch nur die Daten (hier: Verknüpfungen) dar. Wozu sollte er wissen müssen, wie alt eine Verknüpfungsdatei ist oder auf welche Datei die Verknüpfung zeigt?

nicodex 5. Sep 2008 09:31

Re: Desktop Icons Typ und Alter ermitteln.
 
Auf dem Desktop (bzw. im Shell-Namensraum des Desktops) können auch Symbole liegen, die keiner physikalischen Datei entsprechen.
Durch die Überlagerung mehrerer Quellen ist keine eindeutige Zuordnung von Icon-Namen zu Objekten möglich: Es kann beliebig viele "Papierkorb" auf dem Desktop geben:
  • Eine beliebige Anzahl von Shell-Objekten im Namensraum des Shell-Desktops mit "Papierkorb" als Anzeigename.
  • Ein "Papierkorb"-Verzeichnis im Desktop-Verzeichnis des Benutzers.
  • Ein "Papierkorb"-Verzeichnis im Desktop-Verzeichnis aller Benutzer.
  • Eine beliebige Anzahl von "Papierkorb.*" in den jeweiligen Desktop-Verzeichnissen.
    (solange für diese Dateiendung die Anzeige der Dateiendung unterdrückt wird - bei *.lnk standardmäßig aktiviert)
  • Eine beliebige Anzahl von Verzeichnissen, der Anzeigename durch eine desktop.ini angepasst und dadurch als "Papierkorb" angezeigt wird.
Das sind nur die, die mir spontan einfallen ;)

Mavarik 5. Sep 2008 09:36

Re: Desktop Icons Typ und Alter ermitteln.
 
Zitat:

Zitat von nicodex
Das sind nur die, die mir spontan einfallen ;)

OK Soweit zu den schlechten Nachrichten...

Also habe ich nur die Möglichkeit alle Quellen zu durchsuchen... :cry:

Frank :coder:

Mavarik 5. Sep 2008 09:38

Re: Desktop Icons Typ und Alter ermitteln.
 
Zitat:

Zitat von Luckie
Der Listview stellt doch nur die Daten (hier: Verknüpfungen) dar. Wozu sollte er wissen müssen, wie alt eine Verknüpfungsdatei ist oder auf welche Datei die Verknüpfung zeigt?

Naja irgendwie muss der Desktop ja das richtige Icon anzeigen...

Frank :coder:

nicodex 5. Sep 2008 09:39

Re: Desktop Icons Typ und Alter ermitteln.
 
Zitat:

Zitat von Mavarik
Also habe ich nur die Möglichkeit alle Quellen zu durchsuchen...

Und entweder die Logik der Shell nachzubauen, oder ein Shell-Objekt zu finden, welches dir die Informationen liefert.

ps: die Icons als Grundlage nu nehmen, ist ohnehin kein brauchbarer Ansatz, da man deren Anzeige komplett deaktivieren kann.

Mavarik 5. Sep 2008 09:57

Re: Desktop Icons Typ und Alter ermitteln.
 
Zitat:

Zitat von nicodex
ps: die Icons als Grundlage nu nehmen, ist ohnehin kein brauchbarer Ansatz, da man deren Anzeige komplett deaktivieren kann.

Na wenn die Icons ausgeblendet sind, brauche ich sie auch nicht neu zu positionieren... :zwinker:

Frank :coder:

Mavarik 5. Sep 2008 10:13

Re: Desktop Icons Typ und Alter ermitteln.
 
PS.:

Die Desktop Funktion "Automatisch Anordnen" in Kombination mit "Sortieren nach Typ" kann dass ja schliesslich auch!

Frank :coder:


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:52 Uhr.
Seite 1 von 2  1 2      

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