Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите разобраться с SetForegroundWindow [D4, Win95/98, Win2k]


Alexey German ©   (2003-02-06 16:55:00) 

Ктонибудь может мне подсказать. Почему при вызове SetForegroundWindow(handle), приложение не становится активным?
Данная процедура вызывается по таймеру.
Заранее благодарен.


Song   (2003-02-07 08:19:00) [1]

2Diamond Cat © (06.02.03 23:51)
Именно про это я и говорил.


Diamond Cat   (2003-02-06 23:56:00) [2]

а да, еще есть тупой проверенный способ ShowWindow


Diamond Cat   (2003-02-06 23:51:00) [3]

а если к примеру с помощью AttachThreadInput приатачить чужой процесс к своему и уж потом SetForeGroundWindow?


gsu   (2003-02-06 20:26:00) [4]

>> Song © (06.02.03 20:23)
правильно, но я не особо начинающий, так как программлю уже лет 8, но просто с упором на реализацию прикладных задач, а так, опять, спасибо


gsu   (2003-02-06 20:24:00) [5]

>> Song © (06.02.03 20:08)
точнее наоборот, мигает свое, а чужие показываются (-:|~

>> DVM © (06.02.03 20:15)
Спасибо, попзжей протестю


Song   (2003-02-06 20:23:00) [6]

Это-то понятно, но начинающим программистам рановато использовать недокументированные готовые решения. Лучше сделать самому ф-ию, которая будет работать т.к. надо, не выходя за пределы стандартных.


DVM   (2003-02-06 20:15:00) [7]

SwitchToThisWindow - 100% надежно (её использует панель задач).
Функция недокументирована, находится в Shell32.dll


Song   (2003-02-06 20:08:00) [8]

Начиная с w2k такое поведение SetForeGroundWindow() введено намеренно. Т.е. оно действует только для окон своего процесс (для чужих просто привлёчет внимание пользователя). Т.е. делаем вывод, что чтобы сделать нормальную работу SetForeGroundWindow() нам нужно сделать процесс вызываемого окна "своим".


gsu   (2003-02-06 20:06:00) [9]

>> Anatoly Podgoretsky © (06.02.03 19:49)
так нечестно, конечно у мя там 98-е, а здесь 2k - это ж не решение !

ХЕЕЕЕЕЕЕЕЕЕЕЕЕЕееееелп, как быть ? интересно же и почАму ?


Anatoly Podgoretsky   (2003-02-06 19:49:00) [10]

Наверно у тебя Win98 и W2K, попробуй на Win95


gsu   (2003-02-06 19:12:00) [11]

да, да, свое приложение не активизируется, во виндоделы гады (-:|~
ХЕЕЕЕЕЕЕЕЕЕЕЕЕЕееееелп, как быть ? интересно же и почАму ?


Романов Р.В.   (2003-02-06 17:36:00) [12]

А оно точно должно стать активным? Почему вы так уверены?


gsu   (2003-02-06 17:27:00) [13]

сорри, бред сказал


gsu   (2003-02-06 17:24:00) [14]

а приложение свое ?, попробуйте BringToFront


Alexey German   (2003-02-06 17:05:00) [15]

Пишу SetActiveWindow(handle) и никакой реакции...


gsu   (2003-02-06 16:59:00) [16]

SetActiveWindow ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо