|
Комбинация win+d и разворачивание моего окна
|
|||
---|---|---|---|
#18+
Здравствуйте! Окно главной формы без границ, при запуске развернуто таким образом: Код: plaintext 1. 2.
Приложение не закрывается, а только сворачивается в трей: Код: plaintext 1. 2. 3. 4. 5.
при двойном клике на иконке трея разворачивается: Код: plaintext 1. 2. 3.
С этим все отлично, все работает. Проблема в следующем - если пользователь сворачивает все окна виндовой кнопкой "Показать рабочий стол" (или win+d) - мое приложение естественно тоже сворачивается, НО при открытии любого другого приложения - мое тоже разворачивается на заднем плане. Подскажите, пожалуйста, как от этого избавиться? Заранее спасибо) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2015, 08:32 |
|
Комбинация win+d и разворачивание моего окна
|
|||
---|---|---|---|
#18+
Solyanik Alexey, а, зачем тебе окно держать постоянно открытым? почему не закрываешь его? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2015, 16:39 |
|
Комбинация win+d и разворачивание моего окна
|
|||
---|---|---|---|
#18+
pation, приложение всегда висит в трее, его нельзя закрыть, можно только свернуть. НО даже если оно свернуто, а потом в какой-то момент пользователь нажимает win+d и открывает любую другую программу - моя разворачивается на весь экран. Вот в этом-то и загвоздка ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2015, 18:29 |
|
Комбинация win+d и разворачивание моего окна
|
|||
---|---|---|---|
#18+
Solyanik Alexeypation, приложение всегда висит в трее, его нельзя закрыть, можно только свернуть. НО даже если оно свернуто, а потом в какой-то момент пользователь нажимает win+d и открывает любую другую программу - моя разворачивается на весь экран. Вот в этом-то и загвоздканужно не сворачивать, а прятать (visible = false). ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2015, 20:34 |
|
Комбинация win+d и разворачивание моего окна
|
|||
---|---|---|---|
#18+
хотя кажется я не правильно понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2015, 20:35 |
|
Комбинация win+d и разворачивание моего окна
|
|||
---|---|---|---|
#18+
Antonariy, к сожалению в обоих случаях одно и тоже ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2015, 21:02 |
|
Комбинация win+d и разворачивание моего окна
|
|||
---|---|---|---|
#18+
попробуй нажать Windows-M - свернуть все окна По идее, Windows-D это быстрый доступ к Desktop'у и при адекватном поведении, окна должны вернуться в прежнее состояние, когда пользователь открыл новое или старое окно, но это далеко не всегда так, так как программа, программе рознь. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2015, 21:05 |
|
Комбинация win+d и разворачивание моего окна
|
|||
---|---|---|---|
#18+
Solyanik AlexeyAntonariy, к сожалению в обоих случаях одно и тожев то, что свернутое разворачивается - верю, сам наблюдал, но чтобы невидимое само собой показывалось - нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2015, 21:16 |
|
Комбинация win+d и разворачивание моего окна
|
|||
---|---|---|---|
#18+
Antonariy, Спасибо за ответ! нигде в коде нет сворачивания окна, Код: c# 1. 2. 3. 4. 5.
этот же код не сворачивает, а также делает visible=false через метод Hide(). Roman Mejtes, Спасибо за ответ! win+m сворачивает все окна кроме моего! Как так?! Может натолкнете на мысль - что может быть у меня не так. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2015, 22:43 |
|
Комбинация win+d и разворачивание моего окна
|
|||
---|---|---|---|
#18+
Antonariyно чтобы невидимое само собой показывалось - нет. Я нарвался. Tray+форма которая Me.Visible = False в Load (с некоторыми махинациями, чтоб не мелькала при загрузке, не суть) + код вызова меню из трея. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
При показанном меню (при том что сработала SetForegroundWindow), нажимаем ESC (меню закрывается), затем ENTER и моя Me, которая .Visible = False мерзким образом появлялась на экран. В VB6 такого глюка не было, в .Net возник. Вылечил так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Уж не знаю насколько это поможет автору, насколько понимаю автор таки показывает форму на экран, моя затычка абсолютна, но м.б. какие условия наложить. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2015, 00:19 |
|
Комбинация win+d и разворачивание моего окна
|
|||
---|---|---|---|
#18+
Дмитрий77, спасибо за совет! Сделал так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
проблема исправилась на половину, т.е. если спрятать приложение, потом нажать win+d и открыть любое другое приложение - мое больше не показывается (а раньше даже в таком случае оно показывалось), НО если мое приложение показано на экране - то после win+d оно прячется и при открытии любого другого все так же и появляется на заднем плане... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2015, 08:33 |
|
Комбинация win+d и разворачивание моего окна
|
|||
---|---|---|---|
#18+
Solyanik Alexeypation, приложение всегда висит в трее, его нельзя закрыть, можно только свернуть. НО даже если оно свернуто, а потом в какой-то момент пользователь нажимает win+d и открывает любую другую программу - моя разворачивается на весь экран. Вот в этом-то и загвоздка я говорю не о приложении, а о окне ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2015, 13:24 |
|
Комбинация win+d и разворачивание моего окна
|
|||
---|---|---|---|
#18+
Solyanik Alexeyпроблема исправилась на половину, т.е. если ... Я не говорил что даю тебе решение ТВОЕЙ проблемы. В общем-то и не вдавался в нее. Просто показалось в чем-то похоже на мою которую описал. Если хочешь идти по этому пути, то разумно смотреть какие сообщения получает окно, результатом чего является "глюк", потом читать описание этих сообщений в Native MSDN и играться. Ну, и следует понимать что .Net свойства-методы не всегда линейно соответствует API-представлению. Т.е. например Me.Enabled= и EnableWindow(Me.Handle,..) это не совсем одно и то же В нек. случаях помогает изначальное использование API -вызова вместо установки .Net свойства. И даже при таком подходе .Net-объектная модель всегда может "поднасрать", поэтому надо аккуратно и проверять чего получается. Ну, либо глушить/затыкать через WndProc, пример чего я тебе привел. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2015, 15:45 |
|
Комбинация win+d и разворачивание моего окна
|
|||
---|---|---|---|
#18+
Дмитрий77Я не говорил что даю тебе решение ТВОЕЙ проблемы. так я ж ничего плохого не говорю) наоборот вы как раз и натолкнули меня на Дмитрий77Если хочешь идти по этому пути, то разумно смотреть какие сообщения получает окно, результатом чего является "глюк", потом читать описание этих сообщений в Native MSDN и играться. Так что в любом случае спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2015, 16:48 |
|
|
start [/forum/topic.php?fid=20&fpage=82&tid=1401408]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 329ms |
total: | 469ms |
0 / 0 |