Как определить, установлен ли Microsoft ActiveSync на ПК

StackOverflow https://stackoverflow.com/questions/1032649

  •  06-07-2019
  •  | 
  •  

Вопрос

Каков наилучший/наиболее надежный способ определить, установлен ли на ПК Microsoft ActiveSync?Моя программа для ПК использует RAPI для извлечения файлов с устройства, и если она не установлена, возникает ошибка, что RAPI.dll не может быть найден.

Это было полезно?

Решение

Вы можете прочитать реестр, чтобы определить, установлен ли ActiveSync.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services 

Другие советы

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

Вы также можете проверить, если
C:\Windows\System32 api.dll существует
Вы пытались включить файл rapi.dll в свое приложение?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top