Shortcut Icon ändern

HLK

Enthusiast
Thread Starter
Mitglied seit
06.04.2010
Beiträge
461
Ort
München
Sers,
ich hab ein AutoIt Script welches im Asus Audiocenter das Ausgabegerät wechselt und zu diesem Script ein Shortcut im Quick Launch Ordner in der Taskleiste (Win7).
Was ich jetzt noch brauche ist eine Anzeige welches Ausgabegerät aktiv ist in Form von einem LS oder KH Icon.

1) Meine Idee war es die .ico Datei des Shortcuts zu ersetzen, also jedes mal beim Wechseln die ico auf die der Shortcut zugreift zu überschreiben. Windows aktualisiert das Icon allerdings nicht automatisch. Ideen?
2) Zweite Idee: Shortcut jedes mal überschreiben durch einen mit anderem Icon. Funktioniert, allerdings bleibt die Position in der Quick Launch Leiste nicht erhalten. Ne Idee wie ich die Position wiederherstellen kann (abgesehen es mit Autoit mit der Maus wieder an seine Stelle zu ziehen)?
3) Dritte Idee: Eine kleine Anwendung in der Taskbar die ihr Icon entsprechend wechselt (und evtl auch beim anklicken des Icons zum starten des Scripts genutzt wird). Hier bräuchte ich hilfe beim erstellen dieses Dreizeilers der selbstverständlich keine Ressourcen fressen oder weitere Programme erfordern sollte.
4) Vorschläge?

Vorweg schonmal eine Dankeschön und Grüße,
HLK
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Dann bin ich doch nicht der einzige mit dem Problem :d Ich lasse auch immer das Headset im PC für Spiele, will aber auch über die Musikanlage über´n PC Musik hören. Da nervt es, dauernd mit 3 Klicks über die Realtek-Software das umzustellen.

Deshalb habe ich im Mai schon ein kleines Programm geschrieben, das ist in der Taskleiste rechts unten als NotifyIcon läuft und anzeigt ob gerade Headset oder Lautsprecher als Standard eingestellt ist und bei einfach-Klick drauf das Standardausgabegerät wechselt.
Ich hab das Programm jetzt nochmal angepasst, da die Key´s der Ausgabegeräte hardcoded waren, hab´s jetzt für dich noch in eine .config-Datei ausgelagert.

Microsoft bietet keine API oder Funktion an. Deshalb ist es leider mit ein paar Zeilen nicht getan.
Das ganze besteht aus einer .dll, die in C++ geschrieben ist und das Standardausgabegerät ändert, und einer C# Applikation, die halt das ganze drumrum (Icon, UI) macht.

Ich lade mal schnell hier Binary´s hoch. Mal sehen, später vllt auf sourgeforge noch den Quelltext.
Edit: hab´s hier gelöscht, ist jetzt alles hier zu finden: https://sourceforge.net/projects/audioendpoint/
Anleitung siehe readme.txt

Kannst ja berichten ob´s tut oder nicht ;) Ich hab´s hier unter Win7x64 am laufen per Autostart.

Für Googler:
How to set the default audio endpoint programmatically: https://sourceforge.net/projects/audioendpoint/
 
Zuletzt bearbeitet:
Danke, habs mir grad mal geladen, ich vermute aber es ist nicht ganz das was ich suche da ich das Outputdevice über die Soundkartensoftware wähle(n muss).
Die Codesegmente für das Trayicon sollten aber hilfreich sein, muss ich mir die Tage mal anschauen.
 
Probier mal ob es über die Systemsteuerung geht:
Systemsteuerung -> Hardware&Sound -> Sound -> Outputdevice wählen -> unten auf den Button "Als Standard" klicken.

Wenn das funktioniert, dann funktioniert auch das Programm.

Wenn nicht, dann kannst funktioniert vermutl. auch die Anzeige des aktuellen Geräts nicht.
 
Zuletzt bearbeitet:
Das geht nicht. Aber mit ein paar Modifikationen müsste es doch möglich sein dein Programm dazu zu bringen mein Script zu starten oder? Und statt dem Abfragen eines Registrywertes wird eine txt Datei ausgelesen und danach entschieden welches Icon angezeigt wird. Ich hab nur leider keine Ahnung vom Programmieren, ich spiel nur nach persönlichem Bedarf ein wenig mit html oder AutoIt rum.
 
Kannst du mir den Quellcode mal zukommen lassen? Vllt versteh ich ihn ja mithilfe Googles ausreichend um da die Modifikationen vorzunehmen. Wäre super.
 
Der Quellcode ist bei sourceforge: default audio endpoint - Browse Files at SourceForge.net -> default_audio_endpoint_source_v_1_0_0_0.zip
Du brauchst dann nur den C#-Code (also Ordner C++ kannst du löschen).

Google mal nach "C# Textdatei lesen". Damit solltest du dann deine Textdatei lesen können.
Eigentlich kannst du dann aus meinem Code dann alles außer das Tray-Icon und die Window_Loaded sowie tray_mousedown-Funktion rauslöschen bzw. die updateicons-Funktion dann halt anpassen und dort die Textdatei auslesen und je nach Inhalt das Icon anzeigen.
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh