-
Leonid Troyanovsky © (20.01.09 19:52) [26] Проблемы пока не увидел.
проблема описана в самом первом посте.
Если запуск программы происходит из под среды, то при возникновении исключении отладчик останавливает процесс и выводит окошко исключения.
При варианте поверх всех окон это окно отладчика не видно, среду тоже не видно, все застопорилось и помогает только диспетчер задач.
При вашем варианте с новым десктопом будет тоже самое, окно отладчика не будет видно, среду тоже. А вот поможет ли диспетчер задач уже фиг знает.
Я хотел бы переформулировать вопрос - если по каким-либо причинам процесс который "сменил" десктоп аварийно завершен или приложения заглючило - есть ли юзерский метод вернутся на стандартный десктоп?
-
> Пробегал2.... (20.01.09 21:53) [40]
> Я хотел бы переформулировать вопрос - если по каким-либо > причинам процесс который "сменил" десктоп аварийно завершен > или приложения заглючило - есть ли юзерский метод вернутся > на стандартный десктоп?
Что значит "аварийно завершен"? Из терминальной сессии? Кем? Зачем?
Вс остальное - в твоих руках.
-- Regards, LVT.
-
>[40] Пробегал2…. (2009-01-20 21:53:00) >если по каким-либо причинам процесс который «сменил» десктоп аварийно завершен >или приложения заглючило — есть ли юзерский метод вернутся на стандартный >десктоп? а что, переключить назад — никак? фильтр на исключения фатальные, например, и в нём переключать.
--- All Your Base Are Belong to Us
-
ketmar © (20.01.09 22:12) [42]
я понимаю, но вопрос остается - если прога все таки не смогла переключить обратно - у юзера есть средства встроенные в винды по переключению на родной десктоп?
Допустим, прога даже не завершилась, а заглючила (зависла), что еще хуже получается. В варианте "поверх всех окон" ее хоть диспетчером задач снять можно и вуаля. А в способе с десктопами что сделаешь, ну терминируешь процесс, как вернуться средствами винды юзерскими к дефолтному десктопу?
-
хм... я вот тут подумал... Терминирование процесса explorer и его повторный запуск видимо решит проблему?
-
>[43] Пробегал2…. (2009-01-20 22:25:00) >как вернуться средствами винды юзерскими к дефолтному десктопу? у стандартной винды нет таких средств. можешь поглазеть на системный десктоп (по ctrl+alt+del). а вот куда оно выкинет потом — не помню.
--- Do what thou wilt shall be the whole of the Law.
-
>[44] Пробегал2…. (2009-01-20 22:26:00) >Терминирование процесса explorer и его повторный запуск видимо решит проблему? теоретически — не должно.
--- Do what thou wilt shall be the whole of the Law.
-
> А в способе с десктопами что сделаешь, ну терминируешь процесс, > как вернуться средствами винды юзерскими к дефолтному десктопу? >
а ты попробуй
-
>[47] Игорь Шевченко © (2009-01-20 22:56:00) >а ты попробуй Игорь, ты садист. помнится, при экспериментировании с этим API у меня экспериментатор завалился. было очень смешно.
правда, на win2k, не знаю, что сейчас.
--- All Your Base Are Belong to Us
-
> Пробегал2.... (20.01.09 22:25) [43]
> Допустим, прога даже не завершилась, а заглючила (зависла), > что еще хуже получается.
О, как все запущено.. Как оказались вне привычного десктопа, то сразу плывем-с.
Допустим, что ты не уверен в собс-ном терминальном платежаторе. Тогда пусти процесс, который умеет реагировать на волшебное сочетание клавиш для терминирования платежного терминатора, но, кроме того, способнен его: а) запускать, б) дожидаться его завершения, в) и собс-но, терминировать незавершаемое.
Это вовсе не сложно. Ну, и возможны варианты. Бо, исходных данных достаточно, IMHO.
-- Regards, LVT.
-
Leonid Troyanovsky © (20.01.09 21:04) [38] После длительных размышлений я пришел к выводу
"Нефиг!"
-
>[49] Leonid Troyanovsky © (2009-01-21 19:21:00) >Тогда пусти процесс, который умеет реагировать на волшебное >сочетание клавиш а разве они не свои для каждого десктопа?
(это вопрос, я таки не помню)
--- Do what thou wilt shall be the whole of the Law.
-
> ketmar © (21.01.09 22:20) [51]
> а разве они не свои для каждого десктопа?
Свои, конечно. Скажем, процесс, осуществляющий переключения должен иметь два (невидимых) окна - одно на исходном десктопе, второе - на переключаемом, причем, окна принадлежат разным потокам. Peter Below как-то приводил пример, как пустить форму на отдельный десктоп и указал на ограничения, которые накладывает использование VCL. Если делать окна собс-ручно, то не вижу особых проблем.
Да, а волшебные сочетания регистрируются для каждого окна.
-- Regards, LVT.
-
> Virgo_Style © (21.01.09 19:42) [50]
> "Нефиг!"
Оценил :)
-- Regards, LVT.
-
> > а разве они не свои для каждого десктопа? > > Свои, конечно.
а я вот не соглашусь. По крайней мере делаем:
1) наблюдаем "родной" десктоп 2) создаем и переключаемся на какой-то другой второй дестоп 3) в том десктопе запускаем процесс explorer'а , появляется второй процесс explorer.exe, появляются иконки, панели и т.д. на втором десктопе 4) нажатие клавиши WIN+E на втором десктопе не приводит к открытию окна проводника. Оно приводит к открытию окна проводника на "родном" десктопе, на котором, видимо, первый explorer стартанул раньше и успел забить данное сочетание клавиш.
Отсюда я делаю вывод, что или регистрация хоткеев уникальна в пределах сеанса (а не в пределах десктопа), или я что-то не понимаю.
-
> Добежал (22.01.09 19:54) [54]
> 4) нажатие клавиши WIN+E на втором десктопе не приводит > к открытию окна проводника.
WIN+ - это не показатель, там много произвола.
-- Regards, LVT.
-
> Leonid Troyanovsky © (22.01.09 20:14) [55]
Хотя, в The RegisterHotKey function defines a system-wide hot key. смущает system-wide. Однако, это не препятствует замыслу.
-- Regards, LVT.
|