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

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

Windows xp


lion ©   (2004-07-12 17:21:00) 

Мастера скажите как в windows xp убрать диспечер задач и панель пуск.И встречный вопрос как написать программу которая будет делать это в любой о.с


grom   (2004-07-14 07:54:00) [1]

procedure TForm1.Button1Click(Sender: TObject);
Var hTaskBar, hButton: HWND;
begin                                    {Hide the start button}
hTaskBar:= FindWindow('Shell_TrayWnd', nil);
hButton:= GetWindow(hTaskBar, GW_CHILD);
ShowWindow(hButton, SW_HIDE);
end;

procedure TForm1.Button2Click(Sender: TObject);
Var hTaskBar, hButton: HWND;
begin                            {Turn the start button back on}
hTaskBar:= FindWindow('Shell_TrayWnd', nil);
hButton:= GetWindow(hTaskBar, GW_CHILD);
ShowWindow(hButton, SW_NORMAL);
end;

procedure TForm1.Button3Click(Sender: TObject);
var Rgn : hRgn;
begin                                   {Hide the start button}
Rgn := CreateRectRgn(0, 0, 0, 0);
SetWindowRgn(FindWindowEx(FindWindow('Shell_TrayWnd', nil),0,'Button',nil),Rgn,true);
end;

procedure TForm1.Button4Click(Sender: TObject);
begin                           {Turn the start button back on}
SetWindowRgn(FindWindowEx(FindWindow('Shell_TrayWnd', nil),0,'Button',nil),0,true);
end;

procedure TForm1.Button5Click(Sender: TObject);
var hTaskBar : THandle;
begin                                         // TaskBar on
hTaskbar := FindWindow('Shell_TrayWnd', Nil);
ShowWindow(hTaskBar, SW_SHOWNORMAL);
end;

procedure TForm1.Button6Click(Sender: TObject);
var hTaskBar : THandle;
begin                                         // TaskBar off
hTaskbar := FindWindow('Shell_TrayWnd', Nil);
ShowWindow(hTaskBar, SW_HIDE);
end;


Baloo   (2004-07-14 03:54:00) [2]

Он, наверное, не окно диспетчера задач имел в виду, а спрятать процесс в нем. А из панели просто кнопу программы спрятать, а не прятать всю панель. Трояна, наверное, ваяет. Как это делается - ищи в Яндексе, набери "создать троян в Delphi" и он кучу тебе выдаст способов. Самый простой - не пиши с формой, оставь 1 dpr и все. Заодно размер подэкономишь. Но в НТ трудно процесс спрятать, я не знаю как... Мастера, наверное знают. Проще процесс замаскировать. Назвать Explorer, где буква о русская, например. Или инсталлировать как сист. службу. Только людям пакости не делай зря, если они тебе не делали.


recLusa   (2004-07-13 11:47:00) [3]

Ну и примерно так же прятать и деспетчер задач. Просто пишешь программулю (без формы), которая в бесконечном цикле ищет foreground window, и если это диспетчер задач, то посылает ему wm_destroy (ну или wm_close).


artificial intellegence   (2004-07-13 11:32:00) [4]

Когда я писал подобную прогу,диспетчер задач я убирал так:

var
wnd:HWND;
begin
wnd:=FindWindow(nil,'Диспетчер задач Windows');
if wnd<>0 then begin SendMessage(wnd,WM_CLOSE,0,0);
end;

Так он закрывается,правда я так и не смог обнаружить название класса,поэтому будет работать только в русском ХР .
Пуск убирается еще проще:

var
wndParent:Hwnd;
wndChild:Hwnd;
begin
wndParent:=findwindow('Shell_TrayWnd',nil);
if wndParent<>0 then
 begin  
  wndChild:=FindWindowEx(wndParent,0,'Button',nil);
  if wndChild<>0 then SendMessage(wndChild,WM_CLOSE,0,0)
    else showmessage('Error');
 end else showmessage('Error');
end;

Правда Пуск Убирается навсегда(в смысле до перезагрузки);

А если хочешь,чтобы в любой винде,тогда определяй версию Виндоуз и выполняй соответствующие действия!


sniknik   (2004-07-13 08:21:00) [5]

любая o.c это не только дос, но и люних/юних/биоэс/... (кстати говорят и на маках какието операционки есть, в дополнение ;о))

кстати встречный вопрос это то что задается спрашиваюшему, вот например это встречный (а у тебя второй)
а что имеется в виду под "панель пуск"? пуск это батон, а панель на которой она лежит панель задачь...
вот как ее спрятать
ShowWindow(FindWindow('SHELL_TRAYWND', nil), SW_HIDE);
(в одной из ос (не дос!!!), список можно продолжить ;о))


Palladin   (2004-07-13 02:57:00) [6]

А чего не понятного? :) Убрать панель задач из DOS. Ясно как божий день.


Dimaxx   (2004-07-12 23:43:00) [7]

Не понял прикола в вопросе №2...


Sheng   (2004-07-12 22:05:00) [8]

Два вечных вопроса:
1. Как спрятать процесс под Windows XP
2. Как засунуть иконку туда, где часы


SammIk   (2004-07-12 21:55:00) [9]

Если можно спрятать, то и наити можно))


DeadMeat   (2004-07-12 21:07:00) [10]


> незнаю насчет диспетчера задач, а вот спрятать процесс можно!
> :)

Ну вот не надо здесь начинать... Щас ведь народ подтянется... :)))

---
...Death Is Only The Begining...


DVM   (2004-07-12 19:31:00) [11]


> убрать диспечер задач

В реестре ключ(не помню какой) или то же в групповых политиках безопасности gpedit.msc


> панель пуск

ShowWindow()


SammIk   (2004-07-12 19:25:00) [12]

deletefile и deletepanelZadach


serg128   (2004-07-12 18:43:00) [13]

незнаю насчет диспетчера задач, а вот спрятать процесс можно! :)


Наверх

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