Samstag, 24. Februar 2007

Windows Mobile Device Center Managed API - Ereignisse für das Anschliessen oder entfernen von Geräten

Es gibt Situationen, dass man auf Ereignisse reagieren möchte, wenn ein Gerät angeschlossen, oder aber entfernt wurde.

Auch hierzu bietet die Windows Mobile Device Center Managed API eine Möglichkeit, die einem das Objekt RapiManager bietet.

Das folgende Beispiel zeigt, wie dies geht. Dadurch, daß bei den Ereignissen zusätzlich auch noch das Device als Parameter übergeben wird, ist es auch möglich auf spezifische Geräte zu reagieren, wenn man (wie in diesem Beispiel) auf den Gerätenamen prüft.

Durch die Ereignisse wird es dadurch möglich zusätzliche Programme auszuführen, wenn dies denn gewünscht wird.
.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.WindowsMobile.Rapi;

namespace WindowsApplicationConnection
{
public partial class MainForm : Form
{
private RapiManager manager;
public MainForm()
{
InitializeComponent();

manager = Microsoft.WindowsMobile.Rapi.RapiManager.Instance;
manager.OnDeviceConnect +=
new RapiManager.DeviceChangeEventHandler
(manager_OnDeviceConnect);
manager.OnDeviceDisconnect +=
new RapiManager.DeviceChangeEventHandler
(manager_OnDeviceDisconnect);
}

void manager_OnDeviceDisconnect(object source, DeviceChangeEventArgs e)
{
MessageBox.Show("'" + e.Device.Name + "' wurde getrennt!");
}

void manager_OnDeviceConnect(object source, DeviceChangeEventArgs e)
{
MessageBox.Show("'" + e.Device.Name + "' wurde angeschlossen!");
}
}
}