Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как отследить из приложения - что на машине запущен Excel? [D5, D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]


СержК ©   (2004-10-20 16:33:00) 

Как отследить из приложения - что на машине запущен Excel?


Jeer   (2004-10-20 17:32:00) [1]

Да ладно вам:

uses ComObj;
..

function TAForm.IsXLSActive : Boolean;
var
Xls : Variant;
begin
Xls := GetActiveOleObject ('Excel.Application');
Result := not VarIsNull(Xls);
end;

procedure TAForm.Button1Click(Sender: TObject);
begin
 try
  if IsXLSActive then ShowMessage('Is active')
 except
  ShowMessage('Not active')
 end;
end;


YurikGL   (2004-10-20 17:29:00) [2]


> в общем случае - никак

Ну не самый общий случай... Но все же...

ExcelApplication1:TExcelApplication;

ExcelApplication1.ConnectKind:=ckRunningInstance;
try
ExcelApplication1.Connect;
ExcelApplication1.Disconnect;
showmessage('Ексель работает');
except
showmessage('Ексель не работает ');
end;


Так как-то можно еще через createOleObject сделать, но боюсь ошибиться.


Pentium133   (2004-10-20 17:06:00) [3]

MessageDlg(mtConfirmation, 'Запущен ли Exel?' [mbYes, mbNo], 0)


Digitman   (2004-10-20 16:48:00) [4]


> Уточню вопрос.
> Мне нужно знать, что Excel не запущен не только из моей
> программы, но вообще не запущен на машине.


грош цена этому "уточнению"

Ехел-процесс либо работает (в одном или более экземплярах) либо не работает в принципе ... и не важно откуда он "запущен"


СержК   (2004-10-20 16:42:00) [5]

Уточню вопрос.
Мне нужно знать, что Excel не запущен не только из моей программы, но вообще не запущен на машине.


Digitman   (2004-10-20 16:40:00) [6]


> СержК


в общем случае - никак
в частном случае - получив из реестра полный путь к исп.файлу Ехела и, перечислив работающие процессы, обнаружиьть средь них искомый


Гаврила   (2004-10-20 16:36:00) [7]

GetActiveOleObject - проверка на существование


Наверх

Титульная страница Поиск, карта сайта Написать письмо