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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.09.2007, 20:42   #1
UnD)eaD)Snake
Форумчанин Подтвердите свой е-майл
 
Аватар для UnD)eaD)Snake
 
Регистрация: 07.07.2007
Сообщений: 241
Вопрос Общение программ через TEvent

Есть 2 программы. Одна всегда запущена и невидима(№1), другая визуальная(№2). Нужно чтобы прога №1 проверяла запущена ли прога №2 и если нет, то запускала ее. Можно какнибудь сделать такое общение через TEvent ?
UnD)eaD)Snake вне форума Ответить с цитированием
Старый 10.09.2007, 21:22   #2
ZMeJ
шарящий
 
Регистрация: 09.09.2007
Сообщений: 9
По умолчанию

класс мне незнаком.
я бы через апи сделал
var h:Thandle
begin
h:=findWindow(nil,'заголовок окна');
if h=0 then
//запуск проги
end;
ZMeJ вне форума Ответить с цитированием
Старый 10.09.2007, 22:09   #3
still_alive
Great Code Monkey
Форумчанин
 
Аватар для still_alive
 
Регистрация: 09.08.2007
Сообщений: 533
По умолчанию

Используй именованные объекты ядра.
still_alive вне форума Ответить с цитированием
Старый 10.09.2007, 22:11   #4
UnD)eaD)Snake
Форумчанин Подтвердите свой е-майл
 
Аватар для UnD)eaD)Snake
 
Регистрация: 07.07.2007
Сообщений: 241
По умолчанию

Цитата:
Сообщение от ZMeJ Посмотреть сообщение
класс мне незнаком.
я бы через апи сделал
var h:Thandle
begin
h:=findWindow(nil,'заголовок окна');
if h=0 then
//запуск проги
end;
Нет, это неподходит, т.к нужно при нажати определенной кнопки в проге №2, сообщить проге №1 что больше ненадо запускать прогу №2
UnD)eaD)Snake вне форума Ответить с цитированием
Старый 10.09.2007, 22:12   #5
UnD)eaD)Snake
Форумчанин Подтвердите свой е-майл
 
Аватар для UnD)eaD)Snake
 
Регистрация: 07.07.2007
Сообщений: 241
По умолчанию

Цитата:
Сообщение от still_alive Посмотреть сообщение
Используй именованные объекты ядра.
ээ.. а мона подробнее
UnD)eaD)Snake вне форума Ответить с цитированием
Старый 10.09.2007, 22:19   #6
still_alive
Great Code Monkey
Форумчанин
 
Аватар для still_alive
 
Регистрация: 09.08.2007
Сообщений: 533
По умолчанию

Ну создаешь например мьютекс с каким-то именем при старте какой-нибудь программы. Для проверки, запущена ли она, пытаешься из другой программы тоже создать мьютекс с тем же именем. Если ошибка, то есть мьютекс с таким именем уже есть, значит та программа запущена.
still_alive вне форума Ответить с цитированием
Старый 11.09.2007, 07:03   #7
Ring0Sn
Форумчанин
 
Аватар для Ring0Sn
 
Регистрация: 06.09.2007
Сообщений: 239
По умолчанию

Цитата:
Сообщение от still_alive Посмотреть сообщение
Ну создаешь например мьютекс с каким-то именем при старте какой-нибудь программы
Ага, реализовать ето можно так если че:
Код:
var
  Hand: DWORD;

function Check: boolean;
begin
  Hand := OpenMutex(MUTEX_ALL_ACCESS, false, 'MY_GLOBAL_MUTEX_');
  Result := (Hand > 0);
  if not Result then Hand := CreateMutex(nil, false, 'MY_GLOBAL_MUTEX_');
end;

begin
  if Check then MessageBox(0, 'YES', 'ДРУГАЯ КОПИЯ УЖЕ ЗАПУЩЕНА', 0);
end;
Ring0Sn вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Общение между формами kate4ka Общие вопросы Delphi 2 10.03.2008 22:49
Общение форм Rapid Общие вопросы Delphi 9 17.11.2007 17:56
Загрузка программ из др. программ в АСМе Shacal Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 05.02.2007 08:53