Страница 1 из 1

Как сделать окно поверх всех окон Винды?

Добавлено: 26 Ноябрь 2015, 11:15
kreator
Собственно, сабж. Естественно, нужно программно.

Как сделать окно поверх всех окон Винды?

Добавлено: 26 Ноябрь 2015, 11:38
PavelNK
Если память не изменяет, то SetWindowPos

Как сделать окно поверх всех окон Винды?

Добавлено: 26 Ноябрь 2015, 13:46
Yufil
В последних версиях винды, похоже, и это не работает.

По крайней мере, старый менеджер компиляции cmp60 сейчас не вылазит наверх :( , стар стал, наверное...

Можно попробовать просто

0{Prop:Active} = True

Или

SetTarget(,1)
0{Prop:Active} = True
SetTarget

Как сделать окно поверх всех окон Винды?

Добавлено: 26 Ноябрь 2015, 13:50
Дед Пахом
У меня вот такая конструкция работает:

Код: Выделить всё

Routine::BringToTop ROUTINE
  DATA
  CODE
  IF gTHD:FrameRef{PROP:Iconize} = TRUE
    gTHD:FrameRef{PROP:Iconize} = FALSE
    LOOP 10 TIMES
      IF SetForegroundWindow(gTHD:FrameRef{PROP:Handle}) = TRUE
        BREAK
      END
    END
  END
  
  IF Window{PROP:Active} <> TRUE
    Window{PROP:Active} = TRUE
  END
gTHD:FrameRef - это APPLICATION
Window - это MDI child window

Как сделать окно поверх всех окон Винды?

Добавлено: 26 Ноябрь 2015, 15:12
kreator
Спасибо, ДП. Приложение и окно поднимаются. А вот вроде как есть возможность сделать окно, которое всегда будет висеть поверх других приложений, типа без возможности переключиться на другое приложение. Или я что-то не так понимаю?

Как сделать окно поверх всех окон Винды?

Добавлено: 26 Ноябрь 2015, 15:19
Yufil
А какая Windows? У меня до какого-то момента было всё OK, а потом облом-с, правда, юзал SetWindowPos
Возможно, это для 64-битных актуально.

Например,
http://www.dxsdata.com/2013/03/c-bring- ... vista-7-8/
https://groups.google.com/forum/#!topic ... Hk7IkAAf9s

и много других... Сейчас пару приложений пустил (тот же cmp60) под win7/64 - да, не работает
Сейчас реализовал по-другому, но осадок остался :)

Как сделать окно поверх всех окон Винды?

Добавлено: 26 Ноябрь 2015, 15:59
kreator
Yufil писал(а):А какая Windows?
Win7-64. Повторил код ДП один в один. В широкую эксплуатацию не скоро пустим. Пока идёт сбор требований заказчика.