Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как можно вывести приложение поверх остальных, сделав его активным? / 11 сообщений из 11, страница 1 из 1
08.09.2018, 18:59
    #39699974
Ghost74
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно вывести приложение поверх остальных, сделав его активным?
Всем привет! Пару месяцев мучаюсь с таким вопросом, но гугл не помогает, делаю сам - не работает должным образом.
Суть в чём: необходимо вывести приложение на передний план, чтобы не клацать на него, чтобы горячие клавиши работали, в общем чтоб оно стало активным. Функции типа
Код: pascal
1.
ShowWindow, SetWindowPos, SetforegroundWindow и тд

не работают, либо срабатывают через раз, что на windows 7 на разных ПК, что на windows 10.
Много чего перепробовал, но пока сделал так:
Код: pascal
1.
2.
3.
4.
5.
6.
form6.formstyle:=fsstayontop;
    application.bringtofront;
     SetForegroundWindow(Application.Handle);
    MainForm.formstyle:=fsnormal;
     SetActiveWindow(application.Handle);
     MainForm.SetFocus;


Но необходимо нажимать на окно, чтобы выбрать его, а это не удобно. Подскажите пожалуйста, как можно реализовать такую функцию, чтобы не срабатывала через раз и не приходилось вручную делать программу активной?
...
Рейтинг: 0 / 0
08.09.2018, 19:14
    #39699978
white_nigger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно вывести приложение поверх остальных, сделав его активным?
У Рэйдмонда Чена есть хорошая статья, почему это хреновая затея. Если не ошибаюсь, у Гансмокера перевод был.
...
Рейтинг: 0 / 0
08.09.2018, 19:17
    #39699979
white_nigger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно вывести приложение поверх остальных, сделав его активным?
В догонку, подсказка - посмотреть как система себя ведёт, когда хочет уведомить юзверя
...
Рейтинг: 0 / 0
08.09.2018, 19:18
    #39699980
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно вывести приложение поверх остальных, сделав его активным?
Ghost74Суть в чём: необходимо вывести приложение на передний план, чтобы не клацать на него,
чтобы горячие клавиши работали, в общем чтоб оно стало активным.

Ты определись: тебе нужно именно вывести приложение на передний план или чтобы горячие
клавиши работали? С первым обломись, второе делается через функцию RegisterHotKey().
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
08.09.2018, 20:56
    #39699991
GunSmoker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно вывести приложение поверх остальных, сделав его активным?
...
Рейтинг: 0 / 0
08.09.2018, 21:00
    #39699992
чччД__
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно вывести приложение поверх остальных, сделав его активным?
GunSmoker,

а я знаю как.
Но на этот раз не скажу.
Не то в очередном патче винды и это способ прикроют.
...
Рейтинг: 0 / 0
08.09.2018, 21:11
    #39699996
под ван
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно вывести приложение поверх остальных, сделав его активным?
Ghost74Всем привет! Пару месяцев мучаюсь с таким вопросом, но гугл не помогает, делаю сам - не работает должным образом.
Суть в чём: необходимо вывести приложение на передний план, чтобы не клацать на него, чтобы горячие клавиши работали, в общем чтоб оно стало активным. Функции типа
Код: pascal
1.
ShowWindow, SetWindowPos, SetforegroundWindow и тд

не работают, либо срабатывают через раз, что на windows 7 на разных ПК, что на windows 10.
Много чего перепробовал, но пока сделал так:
Код: pascal
1.
2.
3.
4.
5.
6.
form6.formstyle:=fsstayontop;
    application.bringtofront;
     SetForegroundWindow(Application.Handle);
    MainForm.formstyle:=fsnormal;
     SetActiveWindow(application.Handle);
     MainForm.SetFocus;


Но необходимо нажимать на окно, чтобы выбрать его, а это не удобно. Подскажите пожалуйста, как можно реализовать такую функцию, чтобы не срабатывала через раз и не приходилось вручную делать программу активной?
Ищи и ковыряй исходники TElTopmost из набора ElPack Tools от lmd.de - эта штука просто сущий термояд. Если её бросить на форму, то это окно перекрыть больше не сможет никто включая саму систему. По крайней мере так было от экспи до восьмёрки, в десятке не проверял.
...
Рейтинг: 0 / 0
08.09.2018, 21:25
    #39699998
GunSmoker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно вывести приложение поверх остальных, сделав его активным?
...
Рейтинг: 0 / 0
09.09.2018, 13:12
    #39700079
schi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно вывести приложение поверх остальных, сделав его активным?
Из всех видов компьютерных преступлений наиболее отвратительным является кража фокуса у активного окна
(с) А. Махоткин
...
Рейтинг: 0 / 0
09.09.2018, 19:34
    #39700135
Ghost74
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно вывести приложение поверх остальных, сделав его активным?
Dimitry Sibiryakov, нужно чтобы при выводе поверх других окон, приложение было активным
...
Рейтинг: 0 / 0
26.09.2018, 10:22
    #39708218
QT
QT
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно вывести приложение поверх остальных, сделав его активным?
Это неприлично, негигиенично,
И несимпатично, вам говорят.

> необходимо вывести приложение на передний план
А активировать-то его зачем?
> чтобы горячие клавиши работали
Они и так вполне работают.
> необходимо нажимать на окно
Зачем?
> делать программу активной
Зачем?
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как можно вывести приложение поверх остальных, сделав его активным? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]