2011-12-17 5 views
1

Можно создать дубликат:
How can I make my application check if Adobe flash player is installed on a PC?Увидеть, установлен ли пользователь Adobe Flash Player?

мне нужно, чтобы убедиться, что пользователь имеет последнюю версию флэш-плеер для интернет-проводник, установленного при запуске программы, кто-нибудь знает, как я могу проверить для этого?

+0

Что вы пробовали? http://www.google.com/#sclient=psy-ab&hl=en&site=&source=hp&q=c%23+check+if+program+is+installed&pbx=1&oq=c%23+check+if+program+is + установлено & aq = f & aqi = g1 & aql = & gs_sm = e & gs_upl = 2041l6863l0l6975l32l19l0l8l8l0l300l3484l0.13.5.1l25l0 & bav = on.2, or.r_gc.r_pw., cf.osb & fp = d6b7c50fe1987ca1 & biw = 1366 & bih = 655 –

+1

Был задан несколько раз. В следующий раз выполните поиск в http://stackoverflow.com/questions/908850/get-installed-applications-in-a-system –

ответ

1

с помощью WMI:

var query = new ManagementObjectSearcher("SELECT * FROM Win32_Product"); 
var res = from ManagementObject m in query.Get() where m.Properties["Name"].Value.ToString() == "Flash Player"; // I don't know the name of flash player installer 
if (res.Count > 0) { ... } 
1

Другой способ проверить ассоциацию файлов для SWF-файлов. Это укажет на идентификатор, который сообщает вам версию Flash как «ShockwaveFlash.ShockwaveFlash.10». Например:

var subKey = Registry.ClassesRoot.OpenSubKey(@"ShockwaveFlash.ShockwaveFlash\CurVer"); 
if (subKey != null) 
{ 
    var value = subKey.GetValue(null) as String; 
    // TODO: parse the number after the last period in the string. 
} 
Смежные вопросы