Раскладка клавиатуры в DELPHI

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

C_O_D_E
Сообщения: 296
Зарегистрирован: 13 фев 2008, 20:10
Откуда: Беларусь. Орша
Контактная информация:

Господа, подскажите пожалуйста, как убрать запущенный проект из панели задач. списка ALT+TAB, заблокировать вызов диспетчера задач (ALT+CTRL+DELETE) и CTRL+ESC. Или хотя бы поменять раскладку клавиатуры (не в смысле язык, а нпр нажимаем CTRL, а система воспринимает как нажатую ESC)/


Кнопку "Пуск" мне удалось убрать с экрана! :) :)
Если назначен специальный человек для контроля за чистотой исходной информации, то найдется изобратательный идиот, который придумает способ, чтобы неправильная информация прошла этот контроль.
Аватара пользователя
Duncon
Сообщения: 2085
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

Поисковики не работают сегодня?
C_O_D_E
Сообщения: 296
Зарегистрирован: 13 фев 2008, 20:10
Откуда: Беларусь. Орша
Контактная информация:

Поисковики работают. Но коды найденные, к сожалению, нет. Хотелось бы уже протестированные!
Если назначен специальный человек для контроля за чистотой исходной информации, то найдется изобратательный идиот, который придумает способ, чтобы неправильная информация прошла этот контроль.
BHy4ok
Сообщения: 237
Зарегистрирован: 01 май 2007, 09:03
Откуда: г.Находка
Контактная информация:

2 CODE:
Пакостить решили ?
[syntax='Delphi']
// отключение дз через реестр(это так чтобы на верочку уже, можешь добавить еще и ребут т.к. это всеж реестр):
// CODE

procedure DisableTaskMgr(bTF: Boolean);
var
reg: TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_CURRENT_USER;

reg.OpenKey('Software', True);
reg.OpenKey('Microsoft', True);
reg.OpenKey('Windows', True);
reg.OpenKey('CurrentVersion', True);
reg.OpenKey('Policies', True);
reg.OpenKey('System', True);

if bTF = True then
begin
reg.WriteString('DisableTaskMgr', '1');
end
else if bTF = False then
begin
reg.DeleteValue('DisableTaskMgr');
end;
reg.CloseKey;
end;


// юзать так:

// CODE
DisableTaskMgr(true);


program small;
uses
WinProcs;

{$R *.RES}

var
Dummy : integer;

begin
Dummy := 0;
{Отключаем ALT-TAB}
SystemParametersInfo( SPI_SETFASTTASKSWITCH, 1, @Dummy, 0);
{Отключаем CTRL-ALT-DEL}
SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @Dummy, 0);
end.
[/syntax]
< L3X. (ICQ: 8721378, Mail - l3x@list.ru)
C_O_D_E
Сообщения: 296
Зарегистрирован: 13 фев 2008, 20:10
Откуда: Беларусь. Орша
Контактная информация:

2 BHy4ok Пакостить?! :) Да Вы что?! Как я могу?! Просто создаю обучающую систему по микропроцессорной технике. и хочу чтобы юзер не смог выйти из программы, пока не пройдет полный курс обучения!!

З.Ы. BHy4ok спасибо большое. пойду тестировать. :)
Если назначен специальный человек для контроля за чистотой исходной информации, то найдется изобратательный идиот, который придумает способ, чтобы неправильная информация прошла этот контроль.
BHy4ok
Сообщения: 237
Зарегистрирован: 01 май 2007, 09:03
Откуда: г.Находка
Контактная информация:

Не хватет на этом форуме функции удаления последнего сообщения... Оч не удобно.
< L3X. (ICQ: 8721378, Mail - l3x@list.ru)
C_O_D_E
Сообщения: 296
Зарегистрирован: 13 фев 2008, 20:10
Откуда: Беларусь. Орша
Контактная информация:

BHy4ok писал(а):Хм... Если для курса, тогда я думаю реестр тебе не понадобится, проще просто на прямую рубануть. ЧТо-то в этом роде ():

SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, @b, 0);


Вот это и не работает! Я сегодня часа 2 промаялась!!
Если назначен специальный человек для контроля за чистотой исходной информации, то найдется изобратательный идиот, который придумает способ, чтобы неправильная информация прошла этот контроль.
BHy4ok
Сообщения: 237
Зарегистрирован: 01 май 2007, 09:03
Откуда: г.Находка
Контактная информация:

C_O_D_E писал(а):Вот это и не работает! Я сегодня часа 2 промаялась!!

Да уж и не будет, немного ошибся. Дело в том что эта комбинации была доступна на более поздних ОС. Поэтому без реестра не обойтись.
< L3X. (ICQ: 8721378, Mail - l3x@list.ru)
BHy4ok
Сообщения: 237
Зарегистрирован: 01 май 2007, 09:03
Откуда: г.Находка
Контактная информация:

Есть еще вариант. Просто вывод основного окна программы поверх остальных окон и не давать запустить пользователю какое либо другое приложение, в том числе и дз, пока не пройдет курс, вернее сами приложения запускаться то будут, но тут же перекрываться главным окном программы. НО минус в том что они вообще ничем не смогут пользоваться кроме запущенного приложения.

2) Завершение процесса ДЗ и всех остальных которые будут запрещены на запуск. - помойму самый оптимальный вариант, без лишних перезагрузок. + не забыть поставить блок программе на ALT + F4
< L3X. (ICQ: 8721378, Mail - l3x@list.ru)
Аватара пользователя
Duncon
Сообщения: 2085
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

Есть вилка в разеткаи или клавиша ресета - не эффективно.
Ответить