Windows Mobile Device Center Managed API - Registry auslesen
Mit der neuen API lässt sich auch die Registry bearbeiten. Die folgende Konsolenanwendung zeigt, wie sich aus einem Windows Mobile 5 Smartphone die Besitzerinformationen auslesen lassen. Hierzu muss ein neues Konsolenprogramm im Visual Studio 2005 erstellt werden, welchem erneut die Referenz zur Assembly Microsoft.WindowsMobile.RAPI hinzugefügt werden muss. Diese befindet sich im Ordner %Windows%\WindowsMobile.
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using Microsoft.WindowsMobile.Rapi;
namespace ConsoleRegistryRead
{
class Program
{
static void Main(string[] args)
{
try
{
if (RapiManager.Instance.Devices.Count<=0)
{
Console.WriteLine("Verbindung kann nicht hergestellt werden,"+
"da kein Gerät mit dem Computer verbunden ist.");
return;
}
CERegistryKey currentuser = CERegistry.CurrentUser
(RapiManager.Instance.Devices[0].Session);
// Wenn keine Besitzerinformationen existieren,
// dann existiert auch der Unterschlüssel 'Owner' nicht
if (currentuser.OpenSubKey("ControlPanel").OpenSubKey("Owner") != null)
{
// Bei dem abgefragten Feld handelt es sich um ein Bytearray,
// in dem alle Informationen zugleich abgelegt sind
string ownername =
(string)currentuser.OpenSubKey("ControlPanel").OpenSubKey
("Owner").GetValue("Name");
string owneremail =
(string)currentuser.OpenSubKey("ControlPanel").OpenSubKey
("Owner").GetValue("E-mail");
if (ownername == null)
{
Console.WriteLine("Keine Besitzerinformationen vorhanden.");
return;
}
Console.WriteLine("Besitzerinformationen:");
Console.WriteLine("======================");
Console.WriteLine("Name: " + ownername);
Console.WriteLine("E-Mail: " + owneremail);
}
else
Console.WriteLine("Es wurden keine Besitzerinformationen gesetzt.");
Console.ReadLine();
}
catch (RapiException re)
{
Console.WriteLine("Beim Herstellen einer Verbindung ist ein Fehler
aufgetreten!\n" +
re.Message);
Console.ReadLine();
}
}
}
}