![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Установлен ли MSOffice 2010? [D5]
MS_Office © (2016-02-09 11:15:00)На компьютере с Windos 7 установлен MSOffice 2010.
код
Reg := TRegistry.Create;
with Reg do
begin
RootKey := HKEY_CLASSES_ROOT;
Result := KeyExists('Word.Application');
Free;
end;
работающий на WinXP с MSOffice 2003, на Win 7 и MSOffice 2010 не отрабатывает (Result = False)
Подскажите каким образом можно определить установлены ли, в частности, Word, Excell, Access
Спасибо
sniknik (2016-02-09 15:25:00) [1]> просто организовал (без регистрации) вызовы MSOffice 2010 приложений.
а, так это считай не установлено.
MS_Office (2016-02-09 14:09:00) [2]Спасибо.
Этот код дал такой же результат (отрицательный).
Детали:
Проблема возникала на Win7 начальная, где я не активировал MSOffice 2010, а пальцами (для непрофессиональных юзеров) просто организовал (без регистрации) вызовы MSOffice 2010 приложений.
На компьютерах Win7 и выше с официально (легально) установленным MSOffice 2010 проблема не проявляется.
Еще раз спасибо
sniknik (2016-02-09 11:38:00) [3]доступа нет скорее всего... вот запусти свою прогу от администратора.
но вообще вот так должно работать и на win7 -
procedure TForm1.Button3Click(Sender: TObject);
function isOLEInstalled(Name: WideString): boolean;
var
ClassID: TCLSID;
begin
result:= CLSIDFromProgID(PWideChar(Name), ClassID) = S_OK;
end;
begin
if isOLEInstalled('Word.Application')
then ShowMessage('Установлен')
else ShowMessage('Не установлен');
end;