Страница: 1 |
Страница: 1 |
Вопрос: Поверх всего...
Добавлено: 14.09.04 00:32
Автор вопроса: Reborn
Народ, подскажите, как расположить прогу поверх панели задач ("пуск").
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #1
Добавлено: 14.09.04 10:36
Никак, т.к. она сама имеет св-во поверх всех... А два окна с одинаковым "приоритетом" будут показаны по очереди... т.е. что сейчас активно то показано и будет...
Номер ответа: 2
Автор ответа:
Mihalыch
ICQ: 373-509-101
Вопросов: 56
Ответов: 330
Профиль | | #2
Добавлено: 14.09.04 17:05
А если в таймере отслеживать окна получившие фокус (GetForegroundWindow), проверять окно твоей программы или нет, если нет то воспользоваться ф-ей SetWindowPos…
Номер ответа: 3
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #3
Добавлено: 15.09.04 00:08
1. Это глючно
2. в 2к/ХР это не сработает... там фокус то якобы передается а реально - ничего... только окно начинает "мигать" и требовать реакции пользователя...
Номер ответа: 4
Автор ответа:
Mihalыch
ICQ: 373-509-101
Вопросов: 56
Ответов: 330
Профиль | | #4
Добавлено: 15.09.04 05:37
sne, я конечно извиняюсь за наглость но у меня все работает.
Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const HWND_TOPMOST = -1
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub
Private Sub Form_Load()
Me.WindowState = 2
SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
End Sub
Private Sub Timer1_Timer()
If Me.hWnd <> GetForegroundWindow() Then
SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
End If
End Sub
Номер ответа: 5
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #5
Добавлено: 15.09.04 15:18
Mihalыch, а я извиняюсь за упорство, но это работает до поры до времени я вот сейчас 30 секунд пощелкал туда-сюда, и у меня панель задач вылезла на первое место... Тесть лучше
Номер ответа: 6
Автор ответа:
Reborn
Вопросов: 8
Ответов: 9
Профиль | | #6
Добавлено: 17.09.04 00:12
Спасибо, человеки, не ссорьтесь я уже все наладил....
Номер ответа: 7
Автор ответа:
ISpy
Разработчик Offline Client
Вопросов: 47
Ответов: 621
Web-сайт:
Профиль | | #7
Добавлено: 18.09.04 13:18
Так, для информации: у Winamp'a окно все время поверх пуск'a. WinXP.
Номер ответа: 8
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #8
Добавлено: 18.09.04 19:05
Да ничего подобного, вот я сейчас опять потыкал поочередно то на винамп, то на панель задач, и он точно так же сдался... теперь вот сижу голову ломаю как его из-под этой панели вытащить
Т.ч. это невозможно, имхо...