| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Запретить любые действия везде |
| Автор: DemoCode 27.2.2006, 20:43 |
| Какие варианты, есть чтобы сделать так, чтобы, пока пользователь ни сделал определенных действий в моей программе, ни мог больше ничего ничего сделать? Я блокирую Ctrl+Alt+Del, Alt+Tab, Alt+F4, а также делаю ClipCursor в области моей формы. Но, проблема в том, что если нажать клавишу Win, далее можно делать что угодно. Как её запретить? А что ещё надо запретить, чтоб лишить пользователя выполнять какие-либо действия? Под XP Спасибо. |
| Автор: Quadr0 27.2.2006, 22:32 |
| ... |
| Автор: DemoCode 28.2.2006, 09:44 | ||
Я подпраил твой код:
Но ни работает. При нажатии на Win открывается пуск. |
| Автор: Romikgy 28.2.2006, 11:46 |
| А через это GetKeyboardState посмотреть его код? |
| Автор: DemoCode 28.2.2006, 12:23 |
| так тоже пробовал, не работает. |
| Автор: Romikgy 28.2.2006, 13:02 |
| Эт просто посмотреть , |
| Автор: bems 28.2.2006, 14:06 |
| Создай свой десктоп и работай там |
| Автор: Romikgy 28.2.2006, 14:24 |
| Я те посоветовал не клавиши перехватывать а ф-ции апи, для получения нажатой клавиши |
| Автор: Rrader 1.3.2006, 11:30 | ||
Можно и улучшить - первое, что пришло в голову |
| Автор: xXxFENIKSxXx 17.3.2006, 15:54 |
| Извините нашли ли способ всё таки заблочить Alt +TAb Ctrl + Esc Alt + F4 Windows + d Особенно саму кнопку Windiws а то проблема остаёться актуальной. Только просьба не то что в теории а то что реально работает. Был бы весьма благодарен. |
| Автор: Romikgy 17.3.2006, 16:41 |
| xXxFENIKSxXx, берешь и ищешь по форуму |
| Автор: xXxFENIKSxXx 17.3.2006, 18:33 | ||
Нельзя ли ссылочкой плиз Ты же наверняка знаешь где это лежит а форум большой |
| Автор: bems 17.3.2006, 19:33 |
| Я ж сказал: CreateDesktop ну и тд |
| Автор: xXxFENIKSxXx 18.3.2006, 08:34 |
| А нельзя ли более подробно описать CreateDesktop |
| Автор: bems 19.3.2006, 09:29 |
| в MSDN |
| Автор: xXxFENIKSxXx 19.3.2006, 15:02 |
| Блин никак В поисковике мсдн пишу фразу выдаёт чистый лист ( |
| Автор: HackMan 19.3.2006, 16:54 |
| Кнопка Win отключается через реестр |
| Автор: MIX55 19.3.2006, 20:56 | ||
99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь вот http://msdn.microsoft.com/library/default.asp посмотри |
| Автор: xXxFENIKSxXx 20.3.2006, 06:27 | ||||||
а нельзя ли подробнее как это сделать хотябы указать на запись кнопки пуск в реестре ? Добавлено @ 06:29 Люди а может можно програмно закрыть кнопку пуск ) открыть же её програмно можно вот и скажем самый простой способ когда пользователь будет открывать пуск программа автоматически будет его закрывать ) оформить енто всё через таймер. Но всё это реально если конечно пуск програмно можно закрыть =) Добавлено @ 06:30
Никак |
| Автор: Sunvas 25.3.2006, 08:20 | ||
| Можно! Только потом трудновато будет ее октрыть!
|
| Автор: Romikgy 27.3.2006, 09:00 |
| Имхо проще сделать ее невидимой!!! |
| Автор: Girder 27.3.2006, 10:55 | ||||||||
| 1.Береш вот ентот код: http://forum.vingrad.ru/index.php?showtopic=53442&view=findpost&p=424364 2.добавляеш в него поиск процесса: "csrss.exe" что бы узнать его PID. (PS: Как енто сделать... поиск по форуму 3. Далее находиш вот енту строчку:
4. Ну а строчку
|
| Автор: DemoCode 27.3.2006, 14:16 |
| А может у кого есть готовая оттестированная либа для того, чтобы, пока пользователь ни сделал определенных действий в моей программе, ни мог больше ничего ничего сделать? |
| Автор: Sunvas 28.3.2006, 00:18 |
| Но ведь менюшка по нажатию кнопки Windows останется ведь! |
| Автор: Romikgy 28.3.2006, 08:50 |
| дык заблокируй эту кнопку |
| Автор: hitter 28.3.2006, 20:22 |
| У этой менюшки есть свой хендл ИМХО послать ему WM_CLOSE, WM_QUIT, e.t.c. Только как получить ентот хендл? Кнопку лочить невыгодно - хоть убей её, менюшка все равно будет появлятся! |
| Автор: Sunvas 29.3.2006, 00:43 | ||||
| hitter, нужно читать тему внимательней!
Но когда я ее закрываю, то уже ничего не поможет, разве что оболочку перегрузить. А если я на клавиатуре нажму кнопку Windows, то менюшка появится! |
| Автор: hitter 29.3.2006, 07:18 | ||||||||
| ОК Ладно тогда надо лочить кнопу.
А что этим ни кто не воспользовался? |
| Автор: Sunvas 30.3.2006, 00:11 |
| Наверное потому что это слишком уж запутано.. Да и в ограниченой учетной записи не работает.. |
| Автор: Rrader 30.3.2006, 07:08 | ||
Это не хендл менюшки. Посмотрите мой пост в этой теме, там я показал, как определить нужный хендл |
| Автор: hitter 30.3.2006, 07:13 |
| Для кого-то даже сорцы тетриса запутанны А запустить код в контексте другого пользователя? |
| Автор: Sunvas 5.4.2006, 14:50 | ||
Хе-хе! Но ведь кнопочка-то закрывается! Значит хендл есть! Да, да! Есть и такие люди! А если у меня есть только ограниченая? (я не знаю пароль другого пользователя) |
| Автор: hitter 5.4.2006, 16:38 | ||
Надо узнать! |
| Автор: Sunvas 6.4.2006, 07:15 | ||
Будут идеи как это быстро сделать, если пароль состоит где-то из 20-25 символов - пиши в ПМ! |