Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2012, 04:55   #1
Антон Лысенко
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 181
По умолчанию Ms Word/ Ms Excel/ Delphi/ завершение работы

Здравствуйте!
Программа работает с приложениями МS Word & MS Excel. В ходе выполнения программы могут быть запущены как один так и несколько приложений MS. Так у меня возник вопрос: есть ли методы которые проверяют было ли запущено приложение, и если да то очищают память от этих приложений и закрываю их? Я знаю как закрыть если они точно запущены. Но если они не запущены то вылетает ошибка.
Код:
procedure TForm1.N4Click(Sender: TObject);
begin
w.ActiveDocument.Close(false);
w.Quit;
w:=UnAssigned;
e.ActiveSheet.Close(false);
e.Quit;
e:=UnAssigned;
close;
end;
Надеюсь на ваше помощь!
Антон Лысенко вне форума Ответить с цитированием
Старый 25.11.2012, 13:25   #2
hon
Форумчанин
 
Регистрация: 08.06.2011
Сообщений: 693
По умолчанию

Код:
function IsRunning(sName: string): boolean; // проверяет, запущен ли процесс sName
var
   han: THandle;
   ProcStruct: PROCESSENTRY32;
   sID: string;
begin
   Result:=false;
   han:=CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0);
   if han=0 then exit;
   ProcStruct.dwSize:=sizeof(PROCESSENTRY32);
   if Process32First(han, ProcStruct) then
   begin
      repeat
         sID:=ExtractFileName(ProcStruct.szExeFile);
         if uppercase(copy(sId, 1, length(sName)))=uppercase(sName) then
         begin
            Result:=true;
            Break;
         end;
      until not Process32Next(han, ProcStruct);
   end;
   CloseHandle(han);
end;
Пример использования:
Код:
if IsRunning('winword.exe') then ShowMessage('Word запущен!');
hon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Завершение работы с реестром tsar_ Общие вопросы Delphi 3 29.03.2011 13:38
Завершение работы Windows tsar_ Общие вопросы Delphi 1 23.03.2011 20:24
Макрос для одновременной работы с word и excel Virtour Microsoft Office Excel 1 20.07.2010 09:29
завершение работы оператора If Noor Общие вопросы C/C++ 1 14.03.2007 10:07