Laden...

Zugriff/Initialisierung von iTunes über das COM-Interface wirf Exception, wenn iTunes schon läuft

Erstellt von GuterFeind vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.966 Views
G
GuterFeind Themenstarter:in
13 Beiträge seit 2010
vor 12 Jahren
Zugriff/Initialisierung von iTunes über das COM-Interface wirf Exception, wenn iTunes schon läuft

Hallo liebe Community,

ich versuche mit iTunes über das COM-Interface zu kommunizieren. Das funktioniert auch gut, allerdings nur, falls iTunes nicht schon am laufen ist. Dann erhalte ich mit meinem Debug versuch des folgenden Codes:


            try
            {
                myItunes = new iTunesApp();
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.ToString());
                Environment.Exit(0);
            }

Den Fehler (wie ihr im Anhang auch sehen könnt):

Fehlermeldung:

System.Runtime.InteropServices.COMException (0x80080005): Die COM-Klassenfactory für die Komponente mit CLSID {DC0C2640-1415-4644-875C-6F4D769839BA} konnte aufgrund des folgenden Fehlers nicht abgerufen werden: 80080005 Starten des Servers fehlgeschlagen (Ausnahme von HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
bei System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
bei System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache)
bei System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache)
bei System.Activator.CreateInstance(Type type, Boolean nonPublic)
bei System.Activator.CreateInstance(Type type)
bei ItunesInterfaceLib.Itunesconnection.inititunes() in C:\Users\Andreas\Documents\Visual Studio 2010\Projects\ItunesConnectGUI\ItunesConnectGUI\Itunesconnection.cs:Zeile 354.

Hat einer von euch ne Ahnung was das bedeutet bzw. einen Lösungsvorschlag?

Vielen Dank schon im Voraus,

Euer GuterFeind

G
538 Beiträge seit 2008
vor 12 Jahren

Es könnte sein, dass iTunes keine multiplen Instanzen erlaubt und für die COM versucht eine Instanz zu starten.
Die einzige Lösung wäre dann zu schauen, ob iTunes läuft und es gegebenenfalls beenden.
Eventuell gibt es aber auch andere Konstruktoren, die mehrere Instanzen erlauben, oder eine bereits vorhandene instanz nutzen.

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)