Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];

Вниз

Как выкинуть программу из списка программ (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.59 MB
Время: 0.024 c
1-24061
Vladislav
2002-07-25 12:12
2002.08.08
Перемешать массив


8-24134
P.
2002-04-02 18:16
2002.08.08
3D


3-23880
Prog_mail
2002-07-17 12:27
2002.08.08
Подскажите самый


1-24001
Helg
2002-07-28 09:39
2002.08.08
Как перехватывать обработчики ошибок?


3-23944
Explorer
2002-07-18 14:55
2002.08.08
Как из StringGrid вставить данные в БД(MSSQL)?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский