VintaSoft Imaging .NET SDK 12.4: Documentation for .NET developer
Vintasoft.Imaging.Media Namespace / ImageCaptureDevicesMonitor Class
Members Object Syntax Example Hierarchy Requirements SeeAlso
In This Topic
    ImageCaptureDevicesMonitor Class
    In This Topic
    Provides the monitor that allows to monitor available image capture devices.
    Object Model
    ImageCaptureDevicesMonitor
    Syntax
    'Declaration
    
    Public Class ImageCaptureDevicesMonitor
    
    
    public class ImageCaptureDevicesMonitor
    
    
    public __gc class ImageCaptureDevicesMonitor
    
    
    public ref class ImageCaptureDevicesMonitor
    
    
    Example

    This C#/VB.NET code shows how to monitor removed/added cameras in system:

    
    Class ImageCaptureDeviceMonitor_Example
        Public Shared Sub Test()
            ' create monitor
            Dim monitor As New Vintasoft.Imaging.Media.ImageCaptureDevicesMonitor()
            AddHandler monitor.CaptureDevicesChanged, New System.EventHandler(Of Vintasoft.Imaging.Media.ImageCaptureDevicesChangedEventArgs)(AddressOf monitor_CaptureDevicesChanged)
            monitor.Timeout = 500
    
            ' show information about available devices
            Dim availableDevices As System.Collections.ObjectModel.ReadOnlyCollection(Of Vintasoft.Imaging.Media.ImageCaptureDevice) = Vintasoft.Imaging.Media.ImageCaptureDeviceConfiguration.GetCaptureDevices()
            If availableDevices.Count > 0 Then
                System.Console.WriteLine("Available devices:")
                For Each device As Vintasoft.Imaging.Media.ImageCaptureDevice In availableDevices
                    System.Console.WriteLine(device.FriendlyName)
                Next
            Else
                System.Console.WriteLine("No connected devices.")
            End If
    
            ' start monitoring
            monitor.Start()
            System.Console.WriteLine("Monitoring started.")
    
            ' wait while any key pressed
            System.Console.ReadKey()
    
            ' stop monitoring
            monitor.[Stop]()
        End Sub
    
        Private Shared Sub monitor_CaptureDevicesChanged(sender As Object, e As Vintasoft.Imaging.Media.ImageCaptureDevicesChangedEventArgs)
            For Each device As Vintasoft.Imaging.Media.ImageCaptureDevice In e.AddedDevices
                System.Console.WriteLine("Device '{0}' connected.", device.FriendlyName)
            Next
    
            For Each device As Vintasoft.Imaging.Media.ImageCaptureDevice In e.RemovedDevices
                System.Console.WriteLine("Device '{0}' disconnected.", device.FriendlyName)
            Next
        End Sub
    End Class
    
    
    
    class ImageCaptureDeviceMonitor_Example
    {
        public static void Test()
        {
            // create monitor
            Vintasoft.Imaging.Media.ImageCaptureDevicesMonitor monitor = 
                new Vintasoft.Imaging.Media.ImageCaptureDevicesMonitor();
            monitor.CaptureDevicesChanged += 
                new System.EventHandler<Vintasoft.Imaging.Media.ImageCaptureDevicesChangedEventArgs>(monitor_CaptureDevicesChanged);
            monitor.Timeout = 500;
    
            // show information about available devices
            System.Collections.ObjectModel.ReadOnlyCollection<Vintasoft.Imaging.Media.ImageCaptureDevice> availableDevices = 
                Vintasoft.Imaging.Media.ImageCaptureDeviceConfiguration.GetCaptureDevices();
            if (availableDevices.Count > 0)
            {
                System.Console.WriteLine("Available devices:");
                foreach (Vintasoft.Imaging.Media.ImageCaptureDevice device in availableDevices)
                    System.Console.WriteLine(device.FriendlyName);
            }
            else
            {
                System.Console.WriteLine("No connected devices.");
            }
    
            // start monitoring
            monitor.Start();
            System.Console.WriteLine("Monitoring started.");
    
            // wait while any key pressed
            System.Console.ReadKey();
    
            // stop monitoring
            monitor.Stop();
        }
    
        static void monitor_CaptureDevicesChanged(object sender, Vintasoft.Imaging.Media.ImageCaptureDevicesChangedEventArgs e)
        {
            foreach (Vintasoft.Imaging.Media.ImageCaptureDevice device in e.AddedDevices)
                System.Console.WriteLine("Device '{0}' connected.", device.FriendlyName);
    
            foreach (Vintasoft.Imaging.Media.ImageCaptureDevice device in e.RemovedDevices)
                System.Console.WriteLine("Device '{0}' disconnected.", device.FriendlyName);
        }
    }
    
    

    Inheritance Hierarchy

    System.Object
       Vintasoft.Imaging.Media.ImageCaptureDevicesMonitor

    Requirements

    Target Platforms: .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

    See Also