Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/14: Рейтинг темы: голосов - 14, средняя оценка - 4.64
389 / 304 / 67
Регистрация: 10.07.2010
Сообщений: 797
1

Pop-under окно

22.02.2011, 01:59. Показов 2524. Ответов 14
Метки нет (Все метки)

Как сделать, что бы окно программы было под окнами других приложений?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.02.2011, 01:59
Ответы с готовыми решениями:

Pop-up окно
делаю попап окно. При клине на "затемнении" окошко закрывается(точнее скрывается). Но так же при...

Pop-Up окно не отображается
Здравствуйте. Подскажите, пожалуйста, почему не появляется pop-up окно. В таскбаре видно, что оно...

Передача значений в POP-UP окно
Здравствуйте, мне нужно сделать pop-up окно, которое выводит информацию в зависимости от того на...

Как вывести pop up окно в центре?
День добрый! Подскажите, пожалуйста, как можно вывести pop up окно в центре с указанием ширины и...

14
136 / 104 / 9
Регистрация: 30.01.2011
Сообщений: 699
22.02.2011, 09:11 2
в свойствах формы topmost=true. Вроде так.

Добавлено через 1 минуту
свойство работает только с окнами без топмоста..т.е. В играх и т.п.окно будет пытаться вылезти ,но несможет.
0
389 / 304 / 67
Регистрация: 10.07.2010
Сообщений: 797
22.02.2011, 10:53  [ТС] 3
Свойство topmost наоборот перемещает окно ПОВЕРХ остальных. А мне нужно что бы оно было ПОД ОКНАМИ остальных приложений.
0
136 / 104 / 9
Регистрация: 30.01.2011
Сообщений: 699
22.02.2011, 11:01 4
пардон. А цель можно?
0
389 / 304 / 67
Регистрация: 10.07.2010
Сообщений: 797
22.02.2011, 11:04  [ТС] 5
хочу что бы она была видна только на рабочем столе.
0
136 / 104 / 9
Регистрация: 30.01.2011
Сообщений: 699
22.02.2011, 11:07 6
так оставь как есть) любое окно ее перекроет.
0
389 / 304 / 67
Регистрация: 10.07.2010
Сообщений: 797
22.02.2011, 11:34  [ТС] 7
не не, не пойдет

Добавлено через 4 минуты
я знаю есть SetWindowPos WinApi функция. Вот только не могу понять какого типа последний параметр в ней. Что писать в C#. И еще на сколько я понимаю ее нужно будет применять в таймере или отлавливть HOOK. Это не хорошо). Может еще какой то способ есть.
0
136 / 104 / 9
Регистрация: 30.01.2011
Сообщений: 699
22.02.2011, 11:43 8
хуки, это довольно сложно и комп будет притормаживать. Если прогу типо виджета кодишь, то я бы поставил стиль нон и пускай она на раб.столе болтается. А ну еще бы из панели убрал)
0
Почетный модератор
Эксперт .NET
8692 / 3644 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
22.02.2011, 12:02 9
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от Димон_ Посмотреть сообщение
хуки, это довольно сложно и комп будет притормаживать
Хуки это несложно, проблема скорее в том что некоторые хуки на .NET не поставишь, и у тебя комп 20 века что-ли чтоб он тормозил? Конечно если всякой хрени повесить на хук то тормоза будут неописуемые.

А если по теме, то использовать SetWindowPos можно так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        [DllImport("user32.dll", SetLastError = true)]
        [return: MarshalAs(UnmanagedType.Bool)]
        static extern bool SetWindowPos (
            IntPtr hWnd,
            IntPtr hWndInsertAfter,
            int X,
            int Y,
            int cx,
            int cy,
            uint uFlags
            );
...
            SetWindowPos(this.Handle, (IntPtr)1, 0, 0, 0, 0,
                0x2 | 0x1 | 0x10 /* SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE */);
Так же можно прикрепить окно к рабочему столу, но тогда оно исчезнет из таскбара:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
        [DllImport("User32.dll", SetLastError = true)]
        static extern IntPtr FindWindow ( string lpClassName, string lpWindowName );
 
        [DllImport("User32.dll", SetLastError = true)]
        static extern IntPtr FindWindowEx ( IntPtr hwndParent, IntPtr hwndChildAfter, string lpClassName, string lpWindowName );
 
        [DllImport("User32.dll", SetLastError = true)]
        static extern IntPtr SetParent ( IntPtr hWndChild, IntPtr hWndNewParent );
...
// For Win7
            IntPtr hDesk = FindWindow("Progman", "Program Manager");
            if (hDesk != IntPtr.Zero) {
                hDesk = FindWindowEx(hDesk, IntPtr.Zero, "SHELLDLL_DefView", "");
                if (hDesk != IntPtr.Zero) {
                    hDesk = FindWindowEx(hDesk, IntPtr.Zero, "SysListView32", "FolderView");
                    if (hDesk != IntPtr.Zero) {
                        SetParent(this.Handle, hDesk);
                    }
                }
            }
4
136 / 104 / 9
Регистрация: 30.01.2011
Сообщений: 699
22.02.2011, 12:08 10
когда читал про хуки было такое замечание, что хуки притормаживают комп и поэтому их надо использовать по миниму.
0
Почетный модератор
Эксперт .NET
8692 / 3644 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
22.02.2011, 12:18 11
Димон_, при использовании хуков у меня были с ними проблемы (система начинала тормозить) только когда в коде была ошибка, как только я эту ошибку исправлял система и хуки работали как часы.
0
136 / 104 / 9
Регистрация: 30.01.2011
Сообщений: 699
22.02.2011, 12:29 12
ссыку не кинете где про них почитать? Просто так искал понял о-ч-е-н-ь мало.
0
Почетный модератор
Эксперт .NET
8692 / 3644 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
22.02.2011, 12:32 13
MSDN, имхо, самое лучшее описание
1
389 / 304 / 67
Регистрация: 10.07.2010
Сообщений: 797
22.02.2011, 12:39  [ТС] 14
SSTREGG, Большое спасибо. Последний параметр писал с большой буквы.
0
136 / 104 / 9
Регистрация: 30.01.2011
Сообщений: 699
22.02.2011, 12:44 15
увы инглиш незнаю(
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.02.2011, 12:44

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Pop-up окно, после загрузки страницы
Всем привет, с js не знаком, нужно написать pop-up окно, которое будет показано новому...

как удалить pop-up окно c рабочего стола
Нужна помощь!После посещения порно сайта на рабочем столе вылезла непристойная картинка,никак не...

Обновить первичное окно после закрытия pop-up окна
Здравствуйте ! Подскажите, пожалуйста, как решить такую задачу: Из окна браузера (назовем его...

Как сделать, чтобы, при закрытии родительского, pop-up окно тоже закрывалось?
открываю через <img scr='image.gif' onLoad='window.open()'>новое pop-up окно. как сделать, чтобы,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.