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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.08.2008, 11:19   #11
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Цитата:
Сообщение от Terran Посмотреть сообщение
Может я конечно ошибаюсь, но в этой строчке он спрашивает про поиск окна и у него приведена цитата именно той функции, которая ищит окна...
Он сначала задал первый вопрос а потом вы его потянули к поиску окон вот он уже и насчет поиска спрашивает.
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 30.08.2008, 19:37   #12
Var17
Пользователь
 
Регистрация: 13.12.2007
Сообщений: 41
По умолчанию

Цитата:
Сообщение от Terran Посмотреть сообщение
Может я конечно ошибаюсь, но в этой строчке он спрашивает про поиск окна и у него приведена цитата именно той функции, которая ищит окна...
Спасибо с поиском окна разобрался, еще есть вопрос, а как можно определить активно ли окно в данный момент ?
Var17 вне форума Ответить с цитированием
Старый 30.08.2008, 20:58   #13
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Цитата:
а как можно определить активно ли окно в данный момент ?
Вы можете узнать хендл активного окна в данный момент вот этом кодом, а потом сравнить со своим и если они не равны, то ваше окно не активно и наоборот.

Код:
Procedure TForm1.Timer1Timer(Sender: TObject);
Begin
Edit1.Text:=IntToStr(GetForegroundWindow);
End;
Всегда рад помочь!

Последний раз редактировалось Terran; 30.08.2008 в 21:04.
Terran вне форума Ответить с цитированием
Старый 30.08.2008, 22:29   #14
Var17
Пользователь
 
Регистрация: 13.12.2007
Сообщений: 41
По умолчанию

Цитата:
Сообщение от Terran Посмотреть сообщение
Вы можете узнать хендл активного окна в данный момент вот этом кодом, а потом сравнить со своим и если они не равны, то ваше окно не активно и наоборот.

Код:
Procedure TForm1.Timer1Timer(Sender: TObject);
Begin
Edit1.Text:=IntToStr(GetForegroundWindow);
End;
Terran, большое тебе спасибо
Var17 вне форума Ответить с цитированием
Старый 06.01.2009, 01:40   #15
barrbos
 
Регистрация: 06.01.2009
Сообщений: 6
По умолчанию

Всем привет. скажу сразу я в делфи полный 0 .. вот ток начил изучать .
новую тему создавать не стал решил тут продолжить.
Хотелось бы штоб ктонить помог
вобщем нужно шоб программа уведомляла о запуске окна (не процеса)
если оно не запущено то таймер надо отматать на 0 ну шоб начать процедуру определения заного если запущено то соответствено продолжить и вывести сообщение
ниже код который не совсем работает .. вообщем не работает .. при запуске вечно выдает одно и тоже сообщение не взависимости запущено нужное окно или нет =(
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Interval:=5000;
handle_kalkyl:=findwindow('Калькулятор',nil);
if handle_kalkyl <> 0 then
   showmessage('Калькулятор  запущен');
else
   showmessage('Калькулятор  не запущен');
//тут надо заменить вывод сообщения на отмотку таймера на 0 и начать заного
end;
end.
з.ы. естествено речь идет не о калькуляторе просто взял за пример
barrbos вне форума Ответить с цитированием
Старый 06.01.2009, 01:48   #16
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Перепутал параметры а надо
Код:
handle_kalkyl:=findwindow(nil,'Калькулятор');
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 21.02.2011, 02:52   #17
TaurusBrown
 
Регистрация: 31.10.2010
Сообщений: 4
По умолчанию

А вот ещё вопрос:
Как узнать, запущен ли процесс запускаемого приложения во время запуска? (прошу прощения за "масло масляное помаслить")
Поясняю: моё приложение, как и создаваемый им процесс, называется, например 'App1.exe'.

Я использовал описанную функцию и добавил эту строчку в главный модуль проекта:

Код:
begin
  Application.Initialize;
  Application.Title := 'App1';
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TFormStart, FormStart);
  Application.CreateForm(TFormMenu, FormMenu);
  If Form1.IsProcesssRun('App1.exe') 
        then FormStart.Show 
        else  FormMenu.Show;
  Application.Run;
end.
но функция всегда возвращает значение true, очевидно, потому что, даже если такого процесса (App1.exe) не было до запуска, то во время проверки он уже есть.
TaurusBrown вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
узнать с какого компьютера заходили на определенный сайт? Lidi Помощь студентам 3 20.08.2008 15:56
Как узнать с какого по какой адрес занимает процесс в системе. kalexi Win Api 2 30.03.2008 15:48
создать папку в том месте откуда запущен exe Stanislav Общие вопросы Delphi 1 22.11.2007 17:58
Как узнать,нужен ли мне определённый процесс Alximik Софт 5 21.11.2007 13:50
как суммировать только определенный месяц? Алька Microsoft Office Excel 2 08.05.2007 08:50