// Disconnect from ActiveX event source void Disconnect() { System.Threading.Monitor.Enter(this); try { if (EventSinkHelper != null) ConnectionPoint.Unadvise(EventSinkHelper.Cookie); ConnectionPoint = null; EventSinkHelper = null; } catch { } System.Threading.Monitor.Exit(this); }
// Connect to ActiveX event source void Connect() { if (ConnectionPoint == null) { ConnectionCount = 0; Guid g = new Guid("D84CCA96-CCE2-11D2-9ECC-0000F8085981"); ConnectionPointContainer.FindConnectionPoint(ref g, out ConnectionPoint); EventSinkHelper = new _WMPCoreEvents_SinkHelper(); ConnectionPoint.Advise(EventSinkHelper, out EventSinkHelper.Cookie); } }