Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Переключение между desktop-ами 
:(
    Опции темы
Гест
Дата 18.4.2006, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 30.1.2006

Репутация: нет
Всего: 1



Здравствуйте.

Что я имею ввиду...

В процессе авторизации в Win2k и далее возникает модальное окно с надписью "Нажмите CTRL+ALT+DEL..."
Мне нужно послать этому окну сообщение.
Но, насколько я знаю, Winlogon.exe, вызывающий это окно, работает в другом desktop-е (из соображений безопасности)

smile : как мне сказать своему приложению переключиться на этот desktop?

Может кто-нибудь уже сталкивался с этой задачей? Кусочек работоспособного кода был бы очень кстати... smile) 
PM MAIL   Вверх
_hunter
Дата 18.4.2006, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 13
Всего: 98



а смысл? ( точнее для чего это нужно -- может проблему другими способами решить можно )
 


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
adonin
Дата 18.4.2006, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 16.12.2005
Где: Новочеркасск Рост овская обл.

Репутация: 2
Всего: 5



Цитата(Гест @  18.4.2006,  01:01 Найти цитируемый пост)
другом desktop-е

Это как?  
--------------------
Тот, кто слизывает мед с крапивы, платит за него слишком дорого. (Томас ФУЛЛЕР)
PM MAIL   Вверх
Гест
Дата 18.4.2006, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 30.1.2006

Репутация: нет
Всего: 1



Как - это не ко мне, а к Microsoft  smile .

А смысл в том, что пишу свой модуль авторизации в Винде (aka GINA), причем проводится проверка не только логина/пароля, но и, например, смарт-карты. Так вот, хочется сделать так, чтобы начать процесс ввода пароля можно было только после поднесения карты к считывателю, а не по нажатию клавиатуры. Поэтому надо отправить сообщение этому окну, а оно затем сгенерит SAS-событие 
PM MAIL   Вверх
_hunter
Дата 18.4.2006, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 13
Всего: 98



Цитата(Гест @  18.4.2006,  11:09 Найти цитируемый пост)
А смысл в том, что пишу свой модуль авторизации в Винде (aka GINA), причем проводится проверка не только логина/пароля, но и, например, смарт-карты. Так вот, хочется сделать так, чтобы начать процесс ввода пароля можно было только после поднесения карты к считывателю, а не по нажатию клавиатуры. Поэтому надо отправить сообщение этому окну, а оно затем сгенерит SAS-событие 

ну так перекрывай джину. зачем с диалогами корячиться?
http://www.osp.ru/win2000/2003/01/060_print.htm 


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Гест
Дата 18.4.2006, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 30.1.2006

Репутация: нет
Всего: 1



Читал. Есть и получше: 
http://msdn.microsoft.com/msdnmag/issues/0...SecurityBriefs/ 
http://msdn.microsoft.com/msdnmag/issues/0...SecurityBriefs/

Но!!!!
Цитата(Гест @  18.4.2006,  11:09 Найти цитируемый пост)
хочется сделать так, чтобы начать процесс ввода пароля можно было только после поднесения карты к считывателю, а не по нажатию клавиатуры. 


Усилю - не хочется, а надо. А для этого НАДО отправить сообщение этому диалогу. 
PM MAIL   Вверх
_hunter
Дата 18.4.2006, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 13
Всего: 98



уточню:
Цитата

Взаимодействие Winlogon и GINA

Как отмечалось выше, GINA представляет собой DLL, которая экспортирует ряд как обязательных, так и дополнительных функций. Первые необходимо реализовать в своей версии модуля, а для вторых в модуле Winlogon.exe имеется код по умолчанию, который будет выполнен, если библиотека не предоставит их реализацию.

Winlogon взаимодействует с GINA следующим образом:
вызывает экспортируемые GINA функции; 
передает сообщения в открытые GINA диалоги. Этот механизм рассматривается ниже, в разделе, посвященном диалогам в GINA; 
предоставляет GINA свой API; 
с помощью функции WlxSasNotify() принимает от GINA сообщения.

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


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Гест
Дата 18.4.2006, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 30.1.2006

Репутация: нет
Всего: 1



Все верно. Даже более того - все это сделано. Один нюанс. Поскольку я переделываю диалоги, следовательно и функции окна у меня должны быть свои. Именно функция окна вызывает WlxSasNotify. Проблема в том, как сказать этому окну, когда ему надо вызывать WlxSasNotify.

В принципе, есть наметки решения...

С помощью EnumDesktops получаешь список всех desktop-ов в системе, выбираешь нужный и переключаешься на него.
Попробовал - говорит Access denied. Возможные решения вновь возникшей проблемы? 
PM MAIL   Вверх
SergeCpp
Дата 18.4.2006, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 10
Всего: 124



А почему бы не использовать один из типов Interprocess Communications?

Типа Mutex etc.? Или QueueUserAPC ?

То есть, не оконными сообщениями...
 
PM MAIL WWW ICQ   Вверх
_hunter
Дата 18.4.2006, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 13
Всего: 98



т.е. от извращений со столами мы ушли. а пришли мы к проблемы межпроцесного взаимодействия.
например тут обсуждали подобный вопрос 


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Гест
Дата 18.4.2006, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 30.1.2006

Репутация: нет
Всего: 1



Хмммм... Можно попробовать... 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0498 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.