Главная страница
    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.48 MB
Время: 0.01 c
1-24066
Valeris
2002-07-26 11:03
2002.08.08
Какой фукцией вызвать запуск ...?


1-23972
eruc
2002-07-26 23:39
2002.08.08
Speedbutton и курсор


1-23968
acid-slash
2002-07-25 12:52
2002.08.08
Шрифты


1-23981
cherepovets
2002-07-27 13:32
2002.08.08
Меню Пуск


1-24070
sergn
2002-07-26 10:43
2002.08.08
Скроллинг TTreeView





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский