Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ALt+Ctrl+Del [D6, Win95/98]


SkySat ©   (2002-04-08 14:53:00) 

Добрый день!
Подскажите как сделать, чтоб программа не была видна при нажатии Alt+Ctrl+Del, а при попытке закрыть она не закрывалась, а падала в системтрей и всегда приложение висело поверх любых окон,типа как аська.
Заранее спасибо!


Shron   (2002-04-09 08:58:00) [1]

похоже что вопрос о невидимости при CTRL+ALT+DEL очень актуален,
вот на одном форуме нашел...
-----------------------------
function RegisterServiceProcess(dwProcessID, dwType: Integer):Integer; stdcall;
external "KERNEL32.DLL";

RegisterServiceProcess(GetCurrentProcessID,1);

Первая часть декларируете функцию RegisterServiceProcess из Kernel32.dll, а затем вызываете ее в теле программы.
Таким образом вы уберете прогу из ctrl-alt-del. Из Alt-tab
ExtendedStyle : integer; меняете на такой же тип в басике
ExtendedStyle:=GetWindowLong(application.Handle, GWL_EXSTYLE);
SetWindowLong(Application.Handle, GWL_EXSTYLE,
ExtendedStyle or WS_EX_TOOLWINDOW {AND NOT WS_EX_APPWINDOW});

-----------------------------------------------


Sergey Saf   (2002-04-09 08:44:00) [2]

Поверх всех окон-проще простого:
в менюшке слева в делфи(у меня делфи 5),та которая properties,
ищеш FormStyle и изменяешь там значение на fsStayOnTop,вот и все.
А насчет Alt+Ctrl+Del у меня есть старая сохраненная страничка из нета где про это писал Николай,самое главное я тебе списал.
Например, по созданию окна. Для этого до слова implementation вписываем следующую функцию:

function RegisterServiceProcess(dwProcessID,dwType:integer):integer;stdcall;external "KERNEL32.DLL";

А на создание окна код будет выглядеть так:

procedure TForm1.FormCreate(Sender: TObject);
begin
if not(csDesigning in ComponentState) then
RegisterServiceProcess(GetCurrentProcessID,1);
end;


Ну вот и всё, а если вам понадобится сделать прогу видимой, тогда сделаем это так:

procedure TForm1.Button1Click(Sender: TObject);
begin
if not(csDesigning in ComponentState) then
RegisterServiceProcess(GetCurrentProcessID,0);
end;


VID   (2002-04-08 21:05:00) [3]

TO SkySat: а потом скажи получилось или нет по совету heruvim4ik"a. такое предчуствие, что не получится :)))


heruvim4ik   (2002-04-08 20:48:00) [4]

Це ж элементарно, Ватсон!
Присвой свойству Form1.FormStyle значение fsStayOnTop...


SkySat   (2002-04-08 19:47:00) [5]

почти со всем сам разобрался, ток вот на счёт того, чтоб приложение висело поверх всех окон....мож кто ссылочку кинет или примерчик... пажаста


lipskiy   (2002-04-08 17:19:00) [6]

Ну как ничего нет - вот в факе - как скрыть от Alt+Ctrl+Del:
http://delphi.mastak.ru/cgi-bin/faq.pl?look=1&id=988622499&n=15


wicked   (2002-04-08 17:18:00) [7]

плохо искал... try again...


SkySat   (2002-04-08 17:12:00) [8]

да поискал я, ничего не нашёл


Sergey Saff   (2002-04-08 17:04:00) [9]

Посмотри в Факе,должно быть...
Если нет,то вечерком напишу...


ZZ   (2002-04-08 16:42:00) [10]

SkySat
А ты поискать в том же FAQ или яндексе не пробовал? Говорят помогает. Или считаешь, что ты первый задавший эти вопросы?


SkySat   (2002-04-08 15:40:00) [11]

а можно поподробнее


Андрей Сенченко   (2002-04-08 15:09:00) [12]

А как отлаживать будешь ? Кнопку Резет не жалко ?

Буквально на все вопросы ( кроме первого ) есть ответы в Форуме и FAQ.


Наверх

Титульная страница Поиск, карта сайта Написать письмо