VintaSoft Imaging .NET SDK 15.1: 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
Monitors image capture devices, which are available in the system.
Object Model
ImageCaptureDevicesMonitor
Syntax
'Declaration

Public Class ImageCaptureDevicesMonitor

public 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 10; .NET 9; .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

See Also