Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];




Вниз

Подскажите плз как вырубить Ctrl+Alt+Del 


SerVS - S   (2002-02-18 20:01) [0]

Уважаемые мастера, подскажите плиз как вырубить Ctrl+Alt+Del. Нужно вырубить клаву, BlockInput отлично работает, только снимается он слишком легко :(



KPV-10k   (2002-02-18 20:51) [1]

Для того, чтобы вырубить Ctrl+Alt+Del,а так же Alt+Tab и Win
необходимо воспользоваться следующей командой:
а) для выключения комбинаций
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, 0, 0);
б) для включения
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, 0, 0);

А если тебе просто не хочется показывать имя процесса в Ctrl+Alt+Del, то просто измени свой файл проекта следующим образом (это пример моего проекта):

program Project1;
uses
Forms, Windows,
Unit1 in "Unit1.pas" {Form1};

{$R *.RES}

procedure RegisterServiceProcess; external "kernel32.dll" name "RegisterServiceProcess";
procedure HideProject; assembler;
asm
push 1
push 0
call RegisterServiceProcess;
end;

begin
Application.Initialize;
Application.CreateForm(Form1, Form1);
HideProject; // Вызываем нашу ф-цию (Невидимость в меню Ctrl+Alt+Del)
Application.Run;
end.




VuDZ   (2002-02-18 20:51) [2]

для win9x - указать системе. что сейчас запущен screensaver. как это делается - не помню



SerVS - S   (2002-02-19 16:22) [3]

Я пробовал SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, 0, 0); но у меня он неработает, вообще-то я пользуюсь Win2000. А под ним как? Спасибо KPV-10k за код, сейчас он не нужен, но думаю пригодится. Вот бы блокировку с примерчиком:))



Pete   (2002-02-19 16:46) [4]

чуть измени:

var old:boolean;

Для выключения:
SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,@old,0);

Для включения:
SystemParametersInfo(SPI_SCREENSAVERRUNNING,0,@old,0);



VuDZ   (2002-02-19 16:46) [5]

Я же сказал - отключить crtl+alt+tab под винтукеем нельзя. только если убить драйвер клавы, но это очень сложно, написать такой софт - это не прогулка по холмам.
переписывай GINA.dll под себя



Fellomena   (2002-02-20 10:28) [6]

Я что-то не поняла что нужно:
Нужно вырубить клаву,... или
вырубить Ctrl+Alt+Del

Если первое, то просто ставишь hook типа WH_KEYBOARD и в функции хука делаешь Return:=1; (главное что не 0) - клавиатура отключена.

Если второе и под Win2K, то SystemParametersInfo тоже работает, но имеет несколько иную структуру, о которой можно (наверное) почитать в SDK новом.



SerVS - S   (2002-02-20 13:18) [7]

2 VuDZ А если не комбинации отключать, а клаву вообще?
2 Fellomena Хук это хорошо, только C+A+D он не блокирует.



VuDZ   (2002-02-20 13:47) [8]

клаву можно отключить вырубив её драйвер. В Системе был пример кода как это примерно делается



SerVS - S   (2002-02-20 18:23) [9]

VuDZ а можно чуть подробней. Я пролистал в Системе все за последний месяц но ничего не нашел :( Если помнишь, то скажи когда это примерно было, а еще лучше и пример сюда кинь :)



VuDZ   (2002-02-20 19:35) [10]

http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1013412291&n=2 - основное тут, а дальше ищи сам.




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.017 c
14-81070          savva                 2002-03-20 10:37  2002.04.25  
Товарищи!! У нас есть возможность отличиться! (и пивка стребовать на халяву о-)) )


1-80990           volodya_              2002-04-12 15:00  2002.04.25  
Как сделать чтобы при нажатии на форме стандартной


1-80939           P.                    2002-04-11 12:20  2002.04.25  
ComboBox


3-80753           nic406                2002-04-04 06:35  2002.04.25  
Выборка с VIEW и JOIN(SQL2000) - Помогите новичку!!!


1-80875           Gayrus                2002-04-13 06:59  2002.04.25  
A : Array of array of String