Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > ОС и железо
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.03.2009, 12:44
Rat Rat вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 391
Репутация: 6078
По умолчанию Как программно проверить установлено ли определенное обновление в Windows?

На мысль натолкнуло следующее:
Цитата:
Технология, которая будет описываться в этой статье это технология IMAPI v2.0. Одной статьёй эту технологию описать не представляется возможным, поэтому в этой статье будут описаны только основы работы с IMAPI2. Эта технология довольно-таки новая, и поддерживается операционными системами Windows XP SP2, 2003 Server, Vista и т.д. Т.е. перед тем как использовать технологию IMAPI2 следует убедиться, в том, что операционная система на компьютере, на котором будет работать программа, является как минимум одной из вышеперечисленных или более новая (например, Windows 7). «Олицетворением» IMAPI2 являются две библиотеки imapi2.dll и imapi2fs.dll. Перед тем как использовать эту технологию вы или программа, которая будет работать на компьютере, должны убедиться, что эти две DLL существуют. Если их нет, то следует установить обновление KB932716 с узла Microsoft.com
Каким образом я могу определить, установлено ли это обновление? Есть какой то элегантный способ? Или придеться тупо обшаривать папку windows в поисках необходимых мне .dll ?
Ответить с цитированием
  #2  
Старый 03.03.2009, 14:10
Аватар для Karsh
Karsh Karsh вне форума
Активный
 
Регистрация: 22.09.2007
Адрес: SPb
Сообщения: 228
Версия Delphi: 7, 2009, XE2
Репутация: 70
По умолчанию

Цитата:
Сообщение от Rat
Каким образом я могу определить, установлено ли это обновление? Есть какой то элегантный способ? Или придеться тупо обшаривать папку windows в поисках необходимых мне .dll ?
Проверить наличие обновления можно из реестра. Вот тут скрин редактора реестра.
А наличие библиотек можно проверить с помощью LoadLibrary:
Код:
procedure gg(); 
var
  DLLInstance: THandle;
begin
  DLLInstance:= LoadLibrary('imapi2.dll');
  if (DLLInstance = 0) then
  begin
    MessageBox(GetActiveWindow, 'библотека не найдена', 'Ошибка', 16);
    Exit;
  end;
  try
    //тут пожно поработать с библиотекой
  finally
    FreeLibrary(DLLInstance);
  end;
end;
__________________
Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра.

Последний раз редактировалось Karsh, 03.03.2009 в 14:12.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:32.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter