Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.08;
Скачать: CL | DM;

Вниз

Как выкинуть программу из списка программ (ctrl+alt+del)?   Найти похожие ветки 

 
^SANYA ©   (2002-07-23 20:04) [0]

Эдакий "шпион" нужен...
Просьба не материть!
Заранее спасибо!


 
Anatoly Podgoretsky ©   (2002-07-23 20:26) [1]

Если шпион не нужен, то зачем выкидывать?


 
^SANYA ©   (2002-07-23 20:31) [2]

Шпион-то и нужен!!!


 
VID ©   (2002-07-23 20:59) [3]

В UBPFD есть, кажется в разделе "Управление ОС"


 
TTCustomDelphiMaster ©   (2002-07-23 21:18) [4]

Application.Terminate;-)


 
VID ©   (2002-07-23 22:13) [5]


> TTCustomDelphiMaster © (23.07.02 21:18)
> Application.Terminate;-)

Просили же не материться ;)


 
Robin   (2002-07-24 17:01) [6]

Вот тебе ссылка на исходник:
http://www.sources.ru/delphi/system/SHunter.zip

Только-что сам проверил скачав: все работает.


 
Игорь Шевченко ©   (2002-07-24 17:10) [7]

Убивать надо программистов, которые такие исходники пишут :-)


 
^SANYA ©   (2002-07-24 23:50) [8]

Да уж....ссылка просто зашибись! Полностью согласен с Игорем Шевченко!!! Но что ж поделать, придётся начать с зачистки кода :(
Кстати, чуть не забыл, БООЛЬШОЕ СПАСИБО за ссылку, т.к. там есть ответ на мой вопрос, хоть и в мусоре...


 
Denvor ©   (2002-07-25 02:28) [9]

Отрубить показ файла в Ctrl-Alt-Del


function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall; external "KERNEL32.DLL";implementationprocedure TForm1.Button1Click(Sender: TObject);begin //Hide if not (csDesigning in ComponentState) then RegisterServiceProcess(GetCurrentProcessID, 1);end;procedure TForm1.Button2Click(Sender: TObject);begin //Show if not (csDesigning in ComponentState) then RegisterServiceProcess(GetCurrentProcessID, 0);end;


 
MARcoDEN ©   (2002-07-25 07:34) [10]

А можно просто подавить реакцию Windows на комбинацию Ctrl+Alt+Del. А для этого (как ни странно), достаточно активировать режим скринсейвера, вот как это делается:

// Включение режима
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, 0, 0); // Выключение режима
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, 0, 0);


 
Denvor ©   (2002-07-26 01:08) [11]

Я бы в таком случае заинтересовался бы очень наглым приложением, которое начало хозяйничать на моём компе, вычислил бы его, открыв обыкновенный Excel и в меню "Справка>О проргамме>О системе> Запущенные приложения" узнал бы его имя и местоположение.Это и была бы "ошибка резидента"!


 
^SANYA ©   (2002-07-26 02:09) [12]

Denvor прав, проверил - "ошибка резидента"!!! Что делать????


 
Denvor ©   (2002-07-26 02:49) [13]

Что делать? Что делать?
Есть у меня один ценный пример из одного FAQ этого сайта, где-то год назад скачанного, который защитит твою программу и от Ctrl-Alt-Del и от TaskBar"a. Ну а с Excel не бойся - размести свою программу в папке Виндоуз и назови, типа MNTask. Визуально будет трудно найти. Excel ведь не к таскбару обращается, а к ОС, которая выдаёт ему все потоки. От них с помощью API не спрячешься.
Вот примерчик того, что я обещал:
"Внеся эти изменения в свой проект вы получите приложение, которое не видно в TaskBar и на него нельзя переключиться по Alt-Tab


program Project1;uses Forms, Windows, Unit1 in "Unit1.pas" {Form1};{$R *.RES}var ExtendedStyle : integer;begin Application.Initialize; ExtendedStyle:=GetWindowLong(application.Handle, GWL_EXSTYLE); SetWindowLong(Application.Handle, GWL_EXSTYLE, ExtendedStyle or WS_EX_TOOLWINDOW {AND NOT WS_EX_APPWINDOW}); Application.CreateForm(TForm1, Form1); Application.Run;end.



Будь готов к тому, что если пpи попытке закpытия пpиложения в OnCloseQuery или OnClose выводится вопpос о подтвеpждении, то могут быть пpоблемы с автоматическим завеpшением пpогpаммы пpи shutdown - под Win95 пpосто зависает, под WinNT не завеpшается.
Очевидно, что сообщение выводится, но его не видно (пpичем SW_RESTORE не сpабатывает).
Решение - ловить WM_QueryEndSession и после всяких завеpшающих действий и вызова CallTerminateProcs выдавать Halt.

А вот как отрубить показ файла в Ctrl-Alt-Del


function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall; external "KERNEL32.DLL";implementationprocedure TForm1.Button1Click(Sender: TObject);begin //Hide if not (csDesigning in ComponentState) then RegisterServiceProcess(GetCurrentProcessID, 1);end;procedure TForm1.Button2Click(Sender: TObject);begin //Show if not (csDesigning in ComponentState) then RegisterServiceProcess(GetCurrentProcessID, 0);end;"

Желаю удачи



Страницы: 1 вся ветка

Текущий архив: 2002.08.08;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.03 c
3-23904
Galinka
2002-07-17 10:09
2002.08.08
Снова вопрос к мастерам. Нужна идея.


4-24275
Baz
2002-05-31 10:50
2002.08.08
Как правильно обрабатывать сообщение WM_PAINT?


1-23986
Nostradamus
2002-07-26 23:48
2002.08.08
Интерестно


1-24107
Stepan
2002-07-23 16:13
2002.08.08
Помогите мне


1-24024
Olorin
2002-07-24 11:06
2002.08.08
Клавиатурные комбинации в НЕАКТИВНОЕ окно...