Einzelnen Beitrag anzeigen

Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#1

Windows 7: Devicearrival - DeviceIcon?

  Alt 6. Feb 2011, 10:38
Hallo,

wie bekommt man unter Windows 7 beim Devicearrival das korrekte DeviceIcon? (D7 pro)
Wer jetzt SHGetFileInfo liegt falsch oder ich kann es nicht richtig!
Das funktionierte unter XP problemlos, unter Windows 7 (bei mir) nicht.
(Übrigens: Das Programm unter Win7 übersetzt kann es auch nicht mehr unter XP!? Und ich bilde mir ein, dass das auch unter Win 7 eine ganze Weile in Ordnung war!?)

(Das gilt zumindest für USB-Sticks und externe USB-Platten. Da habe ich es probiert. Eine neue
DVD im DVD-Laufwerk erkennt er korrekt und baut auch das richtige Icon ein!)

Ich nehme an, dass das mit der unterschiedlichen Behandlung der Systemimagelist zusammenhängt.
Das Programm bekommt auch beim DeviceChange (Devicearrival) "nur" eine Kopie und die braucht Zeit. Wenn die fertig ist, ist das Devicearrival aber meist schon abgearbeitet. Es wird nur das Standardicon angezeigt, das sich dann auch im nachinein (nochmal SHGetFileIcon) nicht mehr ändern lässt.

Der Windows Explorer kann es aber richtig. (Evtl. arbeitet der mit der originalen Systemimagelist, die immer sofort aktualisiert wird.)

Gibt es speziell dafür evtl. eine API-Funktion?
Was tun?

Gruß
Mattze

PS: Fälschlicherweise hatte ich da einen Thread im Verdacht, weil es ja vorher ging. Aber es geht auch ohne den Thread nicht mehr. Ich habe es mal mit einem Button direkt probiert. Da wird nur das Icon mit SHGetFileInfo geholt. Drücke ich sofort nach Anschluss des USB-Sticks (d. h. "so spät", dass das LW schon da ist), geht es nicht. Drücke ich dann später nochmal, ändert sich auch nichts. Warte ich zu Beginn einen Moment und drücke dann den Schalter, geht es!
  Mit Zitat antworten Zitat