Вниз
Скачать: CL | DM;

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

← →
СержК   (2004-10-20 16:33) [0]

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


← →
Гаврила ©   (2004-10-20 16:36) [1]

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


← →
Digitman ©   (2004-10-20 16:40) [2]


> СержК


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


← →
СержК   (2004-10-20 16:42) [3]

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


← →
Digitman ©   (2004-10-20 16:48) [4]


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


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

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


← →
Pentium133 ©   (2004-10-20 17:06) [5]

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


← →
YurikGL ©   (2004-10-20 17:29) [6]


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

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

ExcelApplication1:TExcelApplication;

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


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


← →
Jeer ©   (2004-10-20 17:32) [7]

Да ладно вам:

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;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
1-1098791757
Maxximusss
2004-10-26 15:55
2004.11.07
Сделать MainForm невидимым.


1-1098316641
Валерий
2004-10-21 03:57
2004.11.07
Как назначить Button.Click; другому компоненту?


6-1093466977
Flagman
2004-08-26 00:49
2004.11.07
Читать/писать в определенный порт...


14-1097598988
kaif
2004-10-12 20:36
2004.11.07
Странное затишье, продолжение...


10-1057319481
Bor
2003-07-04 15:51
2004.11.07
При вызове orb->resolve_initial_references возникает искл.




   Наверх