Kamrad.ru
 
 
дневники | кабинет | регистрация | календарь | участники | faq | правила | поиск | фотоальбом | каська | выйти
Kamrad.ru Kamrad.ru » Форумы общей тематики » Программы (software) » Нужен совет програмера
новая тема  ответить следующая тема | предыдущая тема
Автор
 
GrIfFiN - offline GrIfFiN
Question30-11-2003 17:27 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Нужен совет програмера

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

P. S. И за одно - как програмно инициировать выключение компа? Или перезагрузку!..

Igorvs - offline Igorvs
01-12-2003 07:32 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Модератор



GrIfFiN
Напиши ситуацию подробнее, что за прога , что делает и какая винда?
( а то может и прогу писать не придется)

LazyFox - offline LazyFox
01-12-2003 10:50 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Кхм, но если у тебя WinNT, Win2000 или WinXP - то там и так нельзя работать до ввода пароля..
Вот заставить работать ДО ввода пароля - более интересная задача

как сделать так что бы при попытке шёлкнуть куда нибуть кроме моей проги получался бы облом - от мыши - можно, например, захватить все сообщения от мыши в свое окно через SetCapture(), или просто закрыть весь десктоп своим большим прозрачным окном.. Но останутся варианты переключения типа Alt-Tab, через WinKey или т.п. Правда, они контролируются Иксплорером, кажись, так что можно запускать свою прогу вместо explorer, а его запускать после проверки пароля..
Можно поставить хук на клавиатуру и мышь через SetWindowsHookEx().
Можно сделать программку ввиде сервиса, запускающуюся до WinLogon.
Можно создать новый пустой десктоп и переключиться на него.

Ну можно и другие варианты придумать...
Перезагрузку-выключение можно сделать через ExitWindowsEx() или через InitiateSystemShutdown(). Там в подсказке (WinAPI-help), кажись, не все внятно прописано - надо предварительно процессу дать права на это действие через AdjustTokenPrivileges().

N30D - offline N30D
01-12-2003 13:49 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



GrIfFiN В чем пишешь?

GrIfFiN - offline GrIfFiN
03-12-2003 09:21 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



2 Igorvs Подробнее я сам ещё не знаю А винда от 98 до XP. Качать нехочу - свою охота... если токо исходники

2 LazyFox "Можно сделать программку ввиде сервиса, запускающуюся до WinLogon." А как это сделать? Её нужно будет делать под дос?

2 N30D Borland C++ Builder 5

LazyFox - offline LazyFox
03-12-2003 09:51 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



GrIfFiN
Сервис - разновидность программы, запускаемой (обычно) системой и управляемой через ServiceControlManager. В зависимости от типа запуска может запускаться до входа в систему. Посмотри хелп на StartService, CreateService, OpenSCManager и по ссылкам между ними. Или примеры, в MSDN, на sources.ru или codeproject.com и т.п.

Под DOS не работает, да и под Win3x, Win9x, WinMe и WinCE тоже.
А под WinNT, Win2k и WinXP - DOS-а совсем нет (тамошняя консоль не DOS вовсе).

GrIfFiN - offline GrIfFiN
06-12-2003 17:57 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



А как использовать WIN API функции? Не как не пойму

Alexvn - offline Alexvn
07-12-2003 11:36 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Администратор
Буржуин проклятый



GrIfFiN - читай документацию, учебники, в интернете литературы полно. На пальцах такие вещи не объясняют.

sergr - offline sergr
16-12-2003 16:21 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



че-то типа ScreenSaverRunning вырубит Ctrl+Alt+Del, Alt+Tab и т.д.
Перезагрузка и т.д.:
ExitWindowsEx(ewx_shutdown,1);
ExitWindowsEx(ewx_force,1);
ExitWindowsEx(ewx_reboot,1);
ExitWindowsEx(ewx_logoff,1);
и еще что-то
А как использовать WIN API функции? Не как не пойму
Открываешь справку по Дельфи, ищешь по указателю 'EnumWindows', потом жмешь 'Group' и видишь много полезного. Конкретно по EnumWindows могу дать дополнительную справку.
Поищи на сайтах:'Мастера Delphi'(адрес не помню), www.proext.ru(в разделе 'программирование').

Alexvn, спокойно решаются!

Текущее время: 02:23
новая тема  ответить следующая тема | предыдущая тема
 
Перейти:

версия для печати   отправить эту страницу по e-mail   подписаться на эту тему

 
Powered by: vBulletin Version 2.0.1
Copyright ©2000, 2001, Jelsoft Enterprises Limited.
Любое использование материалов сайта
возможно только с разрешения его администрации.


 

Рейтинг@Mail.ru
Рейтинг@Mail.ru