Zitat:
Warum eigentlich der Vergleich von PID mit der ProcID, die du über die gefüllte ProcList holst? Wozu dient das?
Warum? Weil ich die Lautstärke vom gesamten System und die der Anwendungs Lautstärke aus den Session ausschließen möchte.
Die werden immer erstellt unabhängig von einer Aktiven oder Inaktiven Session.
Ich habe jetzt die Icons und das mit dem aufsuchen der Anwendungen selbst funktioniert mit der Lösung von Zacherl gut.
Zitat:
ProcessName wird über OpenProcess() und GetModuleFileNameEx() geholt.
Wie gesagt hatte da immer ein ungültiges
Handle aber nicht mit Zacherl's Funktion.
Ka hast du W10?
Die Icons sind im Moment nur Zentriert die höhe der Controls ist noch nicht angepasst.
Das mit den doppelten Sidebar Session ist auch noch nicht behoben. (Muss nachdenken wie ich das am besten mache ohne viele Aufwand)
EDIT:
Zudem wenn ich diese nicht vergleichen würde müsste ich die komplette liste mit
State <> uint(TAudioSessionState.AudioSessionStateExpired)
vergleichen und das kann dauern je nachdem wie viele Prozesse am laufen sind.
So vergleiche ich den Aktiven Prozess vorher mit der PID die über
SessionControl2.GetProcessID(PID);
ermittelt wurde.
Somit muss ich NUR maximal 9 abfragen und nicht 100 und mehr.
gruss