![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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.