Frage

Was ist der beste/sicherste Weg, die erkennen, wenn ein PC über Microsoft ActiveSync installiert?Mein PC-Programm verwendet RAPI, um Dateien aus dem Gerät, und wenn es nicht installiert ist, ein Fehler, der RAPI.dll kann nicht gefunden werden.

War es hilfreich?

Lösung

Sie können die Registrierung lesen zu erkennen, wenn ActiveSync installiert ist

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services 

Andere Tipps

/// <summary>
/// Checks to see if ActiveSync/Windows Mobile Device Center
/// is installed on the PC.
/// </summary>
/// <param name="syncVersion">The version of the synchronization tool installed.</param>
/// <returns>True: Either ActiveSync or Windows Mobile Device Center is 
/// installed. False: version is null
/// </returns>
private static bool isActiveSyncInstalled(out Version syncVersion)
{
            using (RegistryKey reg = 
                Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows CE Services"))
            {
                if (reg == null)
                {
                    syncVersion = null;
                    return false;
                }

                int majorVersion = (int)reg.GetValue("MajorVersion", 0);
                int minorVersion = (int)reg.GetValue("MinorVersion", 0);
                int buildNumber = (int)reg.GetValue("BuildNumber", 0);

                syncVersion = new Version(majorVersion, minorVersion, buildNumber);
            }
            return true;
}

Sie können auch überprüfen, ob
C:\Windows\System32 api.dll vorhanden
Haben Sie versucht zu gehören rapi.dll Datei mit Ihrer Anwendung ?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top