|
Вопрос # 914/ вопрос открыт / |
|
Здравствуйте!
Попытался скрыть программу от диспетчера задач Windows вот таким способом(см. приложение), но почему-то невышло. Что в мойм коде не так?
И второе, написал программу с WinAPI, которая отключает кнопку пуск. Запустил, нажал на кнопку \'Запретить\'(Button1) и всё вроде работает: при нажатии на пуск ничего не происходит(за исключением звукового сигнала), а если нажать на кнопку клавиатуры, то меню спокойно открывается! Как сделать так, чтобы пуск вообще ни на что не реагировал?
Приложение: Переключить в обычный режим- program Project1;
-
- uses
- Forms,Windows,
- Unit1 in 'Unit1.pas' {Form1};
-
- {$R *.res}
-
- var
- EStyle:integer;
-
- begin
- Application.Initialize;
- EStyle:=Getwindowlong(application.Handle,GWL_exstyle);
- SetWindowLong(application.Handle,GWL_exStyle,EStyle or WS_EX_Toolwindow);
- Application.CreateForm(TForm1, Form1);
- Application.Run;
- end.
-
- ***
-
- unit Unit1;
-
- interface
-
- uses
- Windows, {Messages, SysUtils,} Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls;
-
- type
- TForm1 = class(TForm)
- Button1: TButton;
- Button2: TButton;
- procedure Button1Click(Sender: TObject);
- procedure Button2Click(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- private
- StartBtnWnd: hwnd;
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
- {$R *.dfm}
-
- procedure TForm1.Button1Click(Sender: TObject);
- begin
- EnableWindow(StartBtnWnd,False);
- end;
-
- procedure TForm1.Button2Click(Sender: TObject);
- begin
- EnableWindow(StartBtnWnd,True);
- end;
-
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- StartBtnWnd:=FindWindow('Shell_TrayWnd',nil);
- end;
-
- end.
 |
Вопрос задал: Полушин Сергей Анатольевич (статус: Посетитель)
Вопрос отправлен: 11 сентября 2007, 21:04
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Матвеев Игорь Владимирович
Здравствуйте, Полушин Сергей Анатольевич!
1. Этот код не скроет Вашу программу от диспетчера, быть может он и будет работать в Win98, но не в NT. Как добиться подобного в NT обсуждалось уже в вопрос #61, повторяться не буду. Этот код поможет скрыть процесс от Диспетчера задач, но не скроет его совсем: SoftIce по-прежнему будет его видеть, также как и многие rootkit remover'ы.
2. skip.
Мини-форум вопроса
Всего сообщений: 3; последнее сообщение — 11 сентября 2007, 21:37; участников в обсуждении: 1.
|
Полушин Сергей Анатольевич (статус: Посетитель), 11 сентября 2007, 21:11 [#1]:
Кстати да, речь то идёт не о кнопке пуск, а о панели задач в целом
|
|
Полушин Сергей Анатольевич (статус: Посетитель), 11 сентября 2007, 21:35 [#2]:
а, чёрт, сам разобрался! со вторым вопросом. Это ваще другая тема, нужно отключать не пуск, а "горячую клавишу".
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|