скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Узнать, запущена ли программа из пакета MS Office



Оформил: DeeCo

uses
   ComObj, ActiveX;

 function IsObjectActive(ClassName: string): Boolean;
 var
   ClassID: TCLSID;
   Unknown: IUnknown;
 begin
   try
     ClassID := ProgIDToClassID(ClassName);
     Result  := GetActiveObject(ClassID, nil, Unknown) = S_OK;
   except
     // raise; 
    Result := False;
   end;
 end;

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   if IsObjectActive('Word.Application') then ShowMessage('Word is running !');
   if IsObjectActive('Excel.Application') then ShowMessage('Excel is running !');
   if IsObjectActive('Outlook.Application') then ShowMessage('Outlook is running !');
   if IsObjectActive('Access.Application') then ShowMessage('Access is running !');
   if IsObjectActive('Powerpoint.Application') then ShowMessage('Powerpoint is running !');
 end;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook