2009-06-23 3 views

Antwort

4

Sie können die Registrierung lesen zu erkennen, ob ActiveSync

installiert ist
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services 
+0

suuuuure .... wenn Sie es tun wollen die "richtige" Weise +1 – Hardwareguy

+1

Warnung: Dieser Registrierungseintrag bleibt bestehen, wenn ActiveSync deinstalliert wird. Sie erhalten also ein falsches positives Ergebnis auf Maschinen, auf denen CE installiert wurde, jetzt aber entfernt wurde. Überprüfen Sie, ob in diesem Schlüssel ein Wertname vorhanden ist (z. B. die Werte "InstalledDir"/"BuildNumber"/"MajorVersion"/... sollten in diesem Registrierungsschlüssel vorhanden sein) –

+0

@FelixAlcala: Ja, das wird von meiner Antwort überprüft zum –

7
/// <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; 
} 
0

Sie können auch überprüfen, ob
C: \ Windows \ System32 \ rapi.dll existiert
Haben Sie versucht, um die Datei rapi.dll mit Ihrer Bewerbung zu versehen?

Verwandte Themen