Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Узнать запущена ли программа.  (Прочитано 6235 раз)
0 Пользователей и 1 Гость смотрят эту тему.
krulik
Гость
« : 12-06-2005 08:40 » 

Как можно узнать запущена ли программа и как сделать главное окно активным. В моем случае мне необходимо отследить запущен ли Ворл. Если да то необходимо сделать его активным и добавить новый документ. Если нет то как запустить Ворд это я знаю. А вот как подконектится к запущенному :?
Оч надо помогите. Скоро защита диплома а пример на стадии разработки
Записан
krulik
Гость
« Ответ #1 : 12-06-2005 10:38 » new

Народ не напрягатесь. Вопрос отпал сам собой.

function IsObjectActive(ClassName: string): Boolean;  //проверяю запущен ли Ворд
var
   ClassID: TCLSID;
   Unknown: IUnknown;
begin
 try
   ClassID := ProgIDToClassID(ClassName);
   Result  := GetActiveObject(ClassID, nil, Unknown) = S_OK;
 except
   Result := False;
  end;
end;

procedure TForm1.btWordClick(Sender: TObject);
begin
 if IsObjectActive('Word.Application')
          then w:=GetActiveOleObject('Word.application')
          else w:=CreateOleObject('word.application');
 ........
end;

Функция взята с www.delphiworld.narod.ru
« Последнее редактирование: 19-12-2007 21:45 от Алексей1153++ » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines