Thema: Delphi Das Handle ist ungültig

Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#27

AW: Das Handle ist ungültig

  Alt 3. Mai 2018, 09:31
Auch wenn bsp. Winamp
Zitat:
VLC KEINE Pflicht ist, das Interface IAudioSessionControl zu implementieren bzw. die Methode SetDisplayName aufzurufen.
es nicht implementiert kommt MS mit seinem Mixer an den Namen sowie das Icon heran.
Richtig, aber eben nicht über eine fertige API, sondern indem es selbst eine passende Beschriftung ermittelt, wie es ja auch in der Doku steht, ich vermute z.B. aus dem Prozessnamen, Fenstertiteln oder ähnlichem.
Danke und genau das bin ich am versuchen wenn der Name\Pfad zum Icon Leer ist.
Was ich möchte.. das TAudioVolume auf einen Kompletten Mixer erweitern so wie er sichtbar wird wie wenn man im Tray auf das Lautsprecher Symbol klickt.

EDIT:
Schlage mich jetzt mit der Änderung rum.
Durch die Änderung auf GetProcessImageFileNameW habe ich nun Probleme den korrekten Pfad zu Anwendung zu finden um das Icon zu setzen.
Muss diesen Pfad
Zitat:
\Device\HarddiskVolume1\Program Files\Windows Sidebar\sidebar.exe
in einem gültigen umwandeln.

Und so geht es immer weiter..

Delphi-Quellcode:
a := MAX_PATH;
GetVolumePathNamesForVolumeNameW(PWideChar(FAudioSessionList[Index].IconPath),
  @FullPath, MAX_PATH, a);

SetSysItemIcon(FullPath);
FullPath ist leer..

gruss

Geändert von EWeiss ( 3. Mai 2018 um 09:45 Uhr)
  Mit Zitat antworten Zitat