Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2011, 21:45   #1
Igolka6662
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 30
По умолчанию Запретить открывать пуск

Вечер добрый!!! Вопрос в следующем,написал программу типа баннера(не вирус!!!),из который можно запустить всего несколько программ,все работает все хорошо! Убираю панель задач снизу,но пуск можно открыть с помощью клавиши windows и cntrl+esc,вычитал функцию чтобы запретить эти комбинации:
Код:
SetWindowLong(FindWindowEx(
FindWindow('Shell_TrayWnd', nil),
0,
'Button',
nil),
GWL_ID,
-1);
Она работает,только мне необходимо её отключить в ходе выполнения программы,если кто знает,напишите, перепробовал много комбинаций,не получается.
Заранее спасибо!!!
Igolka6662 вне форума Ответить с цитированием
Старый 31.10.2011, 21:47   #2
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

При запуске программы выключаете, при завершении программы включаете.
Или я что-то не понял?
psycho-coder вне форума Ответить с цитированием
Старый 31.10.2011, 21:50   #3
Igolka6662
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 30
По умолчанию

У меня есть функция,которая блокирует все что можно,вот в ней находится этот код. Далее есть кнопка по нажатии которой вся блокировка системы снимается, и вот я не знаю как изменить этот код чтобы снова включить пуск,то есть снять с него блокировку!
Igolka6662 вне форума Ответить с цитированием
Старый 31.10.2011, 22:13   #4
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

покажите код снятия блокировки, чтоли))
psycho-coder вне форума Ответить с цитированием
Старый 31.10.2011, 22:23   #5
Igolka6662
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 30
По умолчанию

Код из процедура блокировки всего:
Код:

Form1.WindowState:=wsMaximized;
//диспетчер задач блокируем
SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,0,0) ;
hDispZad := FindWindow('TaskMgr', Nil);
ShowWindow(hDispZad, SW_HIDE);
//убираем нижнюю панель задач
hTaskbar := FindWindow('Shell_TrayWnd', Nil);
ShowWindow(hTaskBar, SW_HIDE);
//убираем значки с раб. стола
ShowWindow(FindWindow(nil,'Program Manager'),SW_HIDE);
{блокируем Ctrl-Alt-Del}
TDWH:=FindWindow(nil,'Диспетчер задач Windows');
  if TDWH=0 then ShellExecute(0,'open','taskmgr.exe',nil,nil,SW_HIDE)
            else ShowWindow(TDWH,SW_HIDE);
//cntrl+esc блокируем (т.е. открытия пуска этими клавишами)
SetWindowLong(FindWindowEx(
FindWindow('Shell_TrayWnd', nil),
0,
'Button',
nil),
GWL_ID,
-1);
Далее есть процедура для разблокировки:
Код:
//показываем нижнюю панель задач
hTaskbar := FindWindow('Shell_TrayWnd', Nil);
ShowWindow(hTaskBar, SW_NORMAL);
//показываем раб.стол
ShowWindow(FindWindow(nil,'Program Manager'),SW_NORMAL);
//включаем показ диспетчера задча
TDWH:=FindWindow(nil, 'Диспетчер задач Windows');
  ShowWindow(TDWH,SW_SHOWNORMAL);
//ЗДЕСЬ НУЖНО НАПИСАТЬ КОД,ЧТОБЫ ВКЛЮЧИТЬ ПУСК!!!
Вы просто сначала неправильно меня поняли,я пуск блокировать могу,а разблокировать нет!
Igolka6662 вне форума Ответить с цитированием
Старый 31.10.2011, 22:44   #6
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

елки, а поэксперементировать? Хотяб на виртуалке, если что можно убить через диспетчер explorer.exe и запустить заново (разумеется диспетчер блочить не нужно на время тестов)
Код:
SetWindowLong(FindWindowEx(
FindWindow('Shell_TrayWnd', nil),
0,
'Button',
nil),
GWL_ID,
-1); // Например поставить 1 или 0
psycho-coder вне форума Ответить с цитированием
Старый 31.10.2011, 22:47   #7
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

То Igolka6662 :
http://programmersforum.ru/showthread.php?t=141903
4-й пост...

На первый раз прощаю.
Но обязательно прочитайте правила раздела.
В данном случае вы нарушили пункт 0.

Последний раз редактировалось mihali4; 01.11.2011 в 00:18.
mihali4 вне форума Ответить с цитированием
Старый 31.10.2011, 22:53   #8
Igolka6662
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 30
По умолчанию

Спасибо,тема закрыта) разобрался)
Igolka6662 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Caption кнопки ПУСК (START) - изменить надпись на кнопке Пуск в Windows XP Altera Win Api 19 29.12.2011 15:49
webbrowser не хочет открывать файлы bLab Общие вопросы Delphi 9 09.10.2010 16:31
ShellExecute перестала открывать ссылки Armorer Win Api 7 24.05.2009 18:35
Чем открывать XPK Файлы, помогите? polukrovka Свободное общение 3 12.09.2008 20:36
Открывать книгу только с макросами wnuks Microsoft Office Excel 1 14.07.2007 10:44