Блокировка SwitchDesktop
От: 1g0r  
Дата: 15.12.08 19:28
Оценка:
Добрый день всем.
Необходимо написать программу, которая создает новый десктоп, переключается на него, выводит модальное окошко и ждет реакцию пользователя. Как только пользователь ответил (нажал кнопочку), программа убивает созданный десктоп и переключается на дефолтный рабочий стол (так же работает UAC в висте).
С созданием и переключением проблем не возникает — делаю стандартно:
1.CreateDesktop, SetThreadDesktop, SwitchDesktop
2.Показываю окошку, жду реакцию
3.SwitchDesktop назад, SetThreadDesktop на основной поток программы, CloseDesktop.
Но проблема кроется в другом: если есть какая-нибудь программка (например, миранда), которая сама переключает рабочий стол на дефолтный через 1-3 сек. В итоге мой десктоп прячется, а модальное окошко висит так и не дождавшись внимания со стороны пользователя.

Вопрос: Каким образом можно сделать, чтобы мой десктоп не смогли переключить на другой, до того как юзер сам не нажал кнопку на моем окошке ? (Возможно, заблокировать SwitchDesktop или поиграться с правами)
Re: Блокировка SwitchDesktop
От: Аноним  
Дата: 15.12.08 22:05
Оценка:
Здравствуйте, 1g0r, Вы писали:


1>Необходимо написать программу, которая создает новый десктоп, переключается на него, выводит модальное окошко и ждет реакцию пользователя. Как только пользователь ответил (нажал кнопочку), программа убивает созданный десктоп и переключается на дефолтный рабочий стол (так же работает UAC в висте).


Возможно не совсем в тему, но всё же http://sudown.sourceforge.net/index.php?page=intro
Re[2]: Блокировка SwitchDesktop
От: 1g0r  
Дата: 15.12.08 23:16
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Возможно не совсем в тему, но всё же



Спсб за линк, но это не решает задачу
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.