Страница 1 из 4
Раскладка клавиатуры в DELPHI
Добавлено: 30 апр 2008, 20:15
C_O_D_E
Господа, подскажите пожалуйста, как убрать запущенный проект из панели задач. списка ALT+TAB, заблокировать вызов диспетчера задач (ALT+CTRL+DELETE) и CTRL+ESC. Или хотя бы поменять раскладку клавиатуры (не в смысле язык, а нпр нажимаем CTRL, а система воспринимает как нажатую ESC)/
Кнопку "Пуск" мне удалось убрать с экрана!

Re: Раскладка клавиатуры в DELPHI
Добавлено: 30 апр 2008, 20:17
Duncon
Поисковики не работают сегодня?
Re: Раскладка клавиатуры в DELPHI
Добавлено: 30 апр 2008, 20:19
C_O_D_E
Поисковики работают. Но коды найденные, к сожалению, нет. Хотелось бы уже протестированные!
Re: Раскладка клавиатуры в DELPHI
Добавлено: 30 апр 2008, 20:31
BHy4ok
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]
Re: Раскладка клавиатуры в DELPHI
Добавлено: 30 апр 2008, 20:45
C_O_D_E
2 BHy4ok Пакостить?!

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

Re: Раскладка клавиатуры в DELPHI
Добавлено: 30 апр 2008, 20:54
BHy4ok
Не хватет на этом форуме функции удаления последнего сообщения... Оч не удобно.
Re: Раскладка клавиатуры в DELPHI
Добавлено: 30 апр 2008, 20:55
C_O_D_E
BHy4ok писал(а):Хм... Если для курса, тогда я думаю реестр тебе не понадобится, проще просто на прямую рубануть. ЧТо-то в этом роде ():
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, @b, 0);
Вот это и не работает! Я сегодня часа 2 промаялась!!
Re: Раскладка клавиатуры в DELPHI
Добавлено: 30 апр 2008, 21:01
BHy4ok
C_O_D_E писал(а):Вот это и не работает! Я сегодня часа 2 промаялась!!
Да уж и не будет, немного ошибся. Дело в том что эта комбинации была доступна на более поздних ОС. Поэтому без реестра не обойтись.
Re: Раскладка клавиатуры в DELPHI
Добавлено: 30 апр 2008, 21:12
BHy4ok
Есть еще вариант. Просто вывод основного окна программы поверх остальных окон и не давать запустить пользователю какое либо другое приложение, в том числе и дз, пока не пройдет курс, вернее сами приложения запускаться то будут, но тут же перекрываться главным окном программы. НО минус в том что они вообще ничем не смогут пользоваться кроме запущенного приложения.
2) Завершение процесса ДЗ и всех остальных которые будут запрещены на запуск. - помойму самый оптимальный вариант, без лишних перезагрузок. + не забыть поставить блок программе на ALT + F4
Re: Раскладка клавиатуры в DELPHI
Добавлено: 30 апр 2008, 21:27
Duncon
Есть вилка в разеткаи или клавиша ресета - не эффективно.