Конференция "Прочее" » Подавления окна отладчика "Debugger Exception Notification"
 
  • Пробегал2.... (20.01.09 21:53) [40]
    Leonid Troyanovsky ©   (20.01.09 19:52) [26]
    Проблемы пока не увидел.


    проблема описана в самом первом посте.

    Если запуск программы происходит из под среды, то при возникновении исключении отладчик останавливает процесс и выводит окошко исключения.

    При варианте поверх всех окон это окно отладчика не видно, среду тоже не видно, все застопорилось и помогает только диспетчер задач.

    При вашем варианте с новым десктопом будет тоже самое, окно отладчика не будет видно, среду тоже. А вот поможет ли диспетчер задач уже фиг знает.

    Я хотел бы переформулировать вопрос - если по каким-либо причинам процесс который "сменил" десктоп аварийно завершен или приложения заглючило - есть ли юзерский метод вернутся на стандартный десктоп?
  • Leonid Troyanovsky © (20.01.09 21:59) [41]

    > Пробегал2....   (20.01.09 21:53) [40]

    > Я хотел бы переформулировать вопрос - если по каким-либо
    > причинам процесс который "сменил" десктоп аварийно завершен
    > или приложения заглючило - есть ли юзерский метод вернутся
    > на стандартный десктоп?

    Что значит "аварийно завершен"?
    Из терминальной сессии? Кем? Зачем?

    Вс остальное - в твоих руках.

    --
    Regards, LVT.
  • ketmar © (20.01.09 22:12) [42]
    >[40] Пробегал2…. (2009-01-20 21:53:00)
    >если по каким-либо причинам процесс который «сменил» десктоп аварийно завершен
    >или приложения заглючило — есть ли юзерский метод вернутся на стандартный
    >десктоп?

    а что, переключить назад — никак? фильтр на исключения фатальные, например, и в нём переключать.

    ---
    All Your Base Are Belong to Us
  • Пробегал2.... (20.01.09 22:25) [43]
    ketmar ©   (20.01.09 22:12) [42]

    я понимаю, но вопрос остается - если прога все таки не смогла переключить обратно - у юзера есть средства встроенные в винды по переключению на родной десктоп?

    Допустим, прога даже не завершилась, а заглючила (зависла), что еще хуже получается. В варианте "поверх всех окон" ее хоть диспетчером задач снять можно и вуаля. А в способе с десктопами что сделаешь, ну терминируешь процесс, как вернуться средствами винды юзерскими к дефолтному десктопу?
  • Пробегал2.... (20.01.09 22:26) [44]
    хм... я вот тут подумал... Терминирование процесса explorer и его повторный запуск видимо решит проблему?
  • ketmar © (20.01.09 22:54) [45]
    >[43] Пробегал2…. (2009-01-20 22:25:00)
    >как вернуться средствами винды юзерскими к дефолтному десктопу?

    у стандартной винды нет таких средств. можешь поглазеть на системный десктоп (по ctrl+alt+del). а вот куда оно выкинет потом — не помню.

    ---
    Do what thou wilt shall be the whole of the Law.
  • ketmar © (20.01.09 22:54) [46]
    >[44] Пробегал2…. (2009-01-20 22:26:00)
    >Терминирование процесса explorer и его повторный запуск видимо решит проблему?

    теоретически — не должно.

    ---
    Do what thou wilt shall be the whole of the Law.
  • Игорь Шевченко © (20.01.09 22:56) [47]

    > А в способе с десктопами что сделаешь, ну терминируешь процесс,
    >  как вернуться средствами винды юзерскими к дефолтному десктопу?
    >


    а ты попробуй
  • ketmar © (20.01.09 22:58) [48]
    >[47] Игорь Шевченко © (2009-01-20 22:56:00)
    >а ты попробуй

    Игорь, ты садист. помнится, при экспериментировании с этим API у меня экспериментатор завалился. было очень смешно.

    правда, на win2k, не знаю, что сейчас.

    ---
    All Your Base Are Belong to Us
  • Leonid Troyanovsky © (21.01.09 19:21) [49]

    > Пробегал2....   (20.01.09 22:25) [43]

    > Допустим, прога даже не завершилась, а заглючила (зависла),
    >  что еще хуже получается.

    О, как все запущено.. Как оказались вне привычного десктопа,
    то сразу плывем-с.

    Допустим, что ты не уверен в собс-ном терминальном платежаторе.
    Тогда пусти процесс, который умеет реагировать на волшебное
    сочетание клавиш для терминирования платежного терминатора,
    но, кроме того,  способнен его: а) запускать, б) дожидаться
    его завершения, в) и собс-но, терминировать незавершаемое.

    Это вовсе не сложно. Ну, и возможны варианты.
    Бо, исходных данных достаточно, IMHO.

    --
    Regards, LVT.
  • Virgo_Style © (21.01.09 19:42) [50]
    Leonid Troyanovsky ©   (20.01.09 21:04) [38]
    После длительных размышлений я пришел к выводу


    "Нефиг!"
  • ketmar © (21.01.09 22:20) [51]
    >[49] Leonid Troyanovsky © (2009-01-21 19:21:00)
    >Тогда пусти процесс, который умеет реагировать на волшебное
    >сочетание клавиш

    а разве они не свои для каждого десктопа?

    (это вопрос, я таки не помню)

    ---
    Do what thou wilt shall be the whole of the Law.
  • Leonid Troyanovsky © (22.01.09 18:00) [52]

    > ketmar ©   (21.01.09 22:20) [51]

    > а разве они не свои для каждого десктопа?

    Свои, конечно.
    Скажем, процесс, осуществляющий переключения должен
    иметь два (невидимых) окна - одно на исходном десктопе, второе -
    на переключаемом, причем, окна принадлежат разным потокам.
    Peter Below как-то приводил пример, как пустить форму на
    отдельный десктоп и указал на ограничения, которые накладывает использование VCL.
    Если делать окна собс-ручно, то не вижу особых проблем.

    Да, а волшебные сочетания регистрируются для каждого окна.

    --
    Regards, LVT.
  • Leonid Troyanovsky © (22.01.09 18:02) [53]

    > Virgo_Style ©   (21.01.09 19:42) [50]

    > "Нефиг!"

    Оценил :)

    --
    Regards, LVT.
  • Добежал (22.01.09 19:54) [54]

    > > а разве они не свои для каждого десктопа?
    >
    > Свои, конечно.

    а я вот не соглашусь. По крайней мере делаем:

    1) наблюдаем "родной" десктоп
    2) создаем и переключаемся на какой-то другой второй дестоп
    3) в том десктопе запускаем процесс explorer'а , появляется второй процесс explorer.exe, появляются иконки, панели и т.д. на втором десктопе
    4) нажатие клавиши WIN+E на втором десктопе не приводит к открытию окна проводника. Оно приводит к открытию окна проводника на "родном" десктопе, на котором, видимо, первый explorer стартанул раньше и успел забить данное сочетание клавиш.

    Отсюда я делаю вывод, что или регистрация хоткеев уникальна в пределах сеанса (а не в пределах десктопа), или я что-то не понимаю.
  • Leonid Troyanovsky © (22.01.09 20:14) [55]

    > Добежал   (22.01.09 19:54) [54]

    > 4) нажатие клавиши WIN+E на втором десктопе не приводит
    > к открытию окна проводника.

    WIN+ - это не показатель, там много произвола.

    --
    Regards, LVT.
  • Leonid Troyanovsky © (22.01.09 20:23) [56]

    > Leonid Troyanovsky ©   (22.01.09 20:14) [55]

    Хотя, в The RegisterHotKey function defines a system-wide hot key.
    смущает system-wide.
    Однако, это не препятствует замыслу.

    --
    Regards, LVT.
 
Конференция "Прочее" » Подавления окна отладчика "Debugger Exception Notification"
Есть новые Нет новых   [134453   +33][b:0][p:0.001]