Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CTRL+ALT+DELETE under XP, может не ново, но этого я ещё не видел 
:(
    Опции темы
Pakshin A. S.
  Дата 4.9.2004, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: нет
Всего: 61



Цитата

...Disable CTRL+ALT+DELETE under XP? 
Autor: Andreas Kirchmeyer 
Homepage: http://www.kaweb.de
2 Comment(s) to this tip [Write new comment]
[ Print tip ]   

Tip Rating (53): 
Код
     
procedure DisableTaskMgr(bTF: Boolean);
var
 reg: TRegistry;
begin
 reg := TRegistry.Create;
 reg.RootKey := HKEY_CURRENT_USER;

 reg.OpenKey('Software', True);
 reg.OpenKey('Microsoft', True);
 reg.OpenKey('Windows', True);
 reg.OpenKey('CurrentVersion', True);
 reg.OpenKey('Policies', True);
 reg.OpenKey('System', True);

 if bTF = True then
 begin
   reg.WriteString('DisableTaskMgr', '1');
 end
 else if bTF = False then
 begin
   reg.DeleteValue('DisableTaskMgr');
 end;
 reg.CloseKey;
end;

// Example Call:
procedure TForm1.Button1Click(Sender: TObject);
begin
 DisableTaskMgr(True);
end;



Взято с http://swissdelphicenter.ch/en/
PM   Вверх
-=::BlackCat::=-
Дата 5.9.2004, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 12.7.2003
Где: растёт анаша?

Репутация: нет
Всего: 6





--------------------
-=::BlackCat::=-user posted image

такой дуратцкий аватар потому как мой 100х100, а такие подгрузить нелзя, движок форума чо сам не может его переделать??  гррр, админ, форум косячит  
PM MAIL ICQ   Вверх
Pathfider
Дата 17.9.2004, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 13.7.2004
Где: все там же

Репутация: нет
Всего: 1



Это все очень хорошо, НО!!! изменения действуют только после перезагрузки. А если нужно отключить три кнопки только на время работы проги? Я еще ничего по этому поводу не нашел и не смог накодить(в смысле чтобы вырубалось/врубалось в релтайме).
--------------------
Trust is a weakness
PM MAIL   Вверх
Pakshin A. S.
Дата 17.9.2004, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: нет
Всего: 61



Судя по коду (если он рабочий), то:
Код

DisableTaskMgr(True); // вырубаем
DisableTaskMgr(False); // врубаем

PM   Вверх
Ripper
Дата 17.9.2004, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lonely soul...
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 30.6.2004
Где: г. Москва

Репутация: нет
Всего: 23



Т.е. если я запущу прогу с DisableTaskMgr(true); потом закрою её и никогда не будет действовать CAD? Класс)) Чего только не придумают =)


--------------------
"Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом
PM MAIL ICQ   Вверх
Pakshin A. S.
  Дата 17.9.2004, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: нет
Всего: 61



Должно вроде так работать.
Лучше это сунуть в ProjectName.dpr.
Код

...

begin
  Application.Initialize;
  ...
  DisableTaskMgr(True);
  Application.Run;
  DisableTaskMgr(False);
end.


Это сообщение отредактировал(а) Pakshin A. S. - 17.9.2004, 20:08
PM   Вверх
devmstr
Дата 18.9.2004, 06:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
**


Профиль
Группа: Участник
Сообщений: 879
Регистрация: 28.4.2004
Где: Ukraine

Репутация: нет
Всего: 11



Я б вообще Microsoft за такие штучки прибилбы. Когда мен первый раз такое сделали на моей рабочей машине я был в ярости! mad.gif
Добавлено @ 06:47
И еще все это делается без перезагрузки.
Замечание по примеру.
RegOpen двести раз. Один раз написал с полным путем и всё! Keep it simple! smile.gif


--------------------
Think different ©Steve Jobs 
user posted image
PM MAIL WWW   Вверх
Nicholas
Дата 20.10.2004, 06:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 436
Регистрация: 30.9.2004

Репутация: нет
Всего: 0



DisableTaskMgr - Delphi 7 у меня говорит [Error] Project1.dpr(12): Undeclared identifier: 'DisableTaskMgr'!!!!???????
:qstn

PM MAIL ICQ   Вверх
Akella
Дата 20.10.2004, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: нет
Всего: 329



в секции private напиши
Код
procedure DisableTaskMgr(bTF: Boolean);

в тексте модуля
напиши
Код

procedure TForm1.DisableTaskMgr(bTF: Boolean);
var
reg: TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_CURRENT_USER;

reg.OpenKey('Software', True);
reg.OpenKey('Microsoft', True);
reg.OpenKey('Windows', True);
reg.OpenKey('CurrentVersion', True);
reg.OpenKey('Policies', True);
reg.OpenKey('System', True);

if bTF = True then
begin
reg.WriteString('DisableTaskMgr', '1');
end
else if bTF = False then
begin
reg.DeleteValue('DisableTaskMgr');
end;
reg.CloseKey;
end;

// Example Call:
procedure TForm1.Button1Click(Sender: TObject);
begin
DisableTaskMgr(True);
end;


PM MAIL   Вверх
Nicholas
Дата 20.10.2004, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 436
Регистрация: 30.9.2004

Репутация: нет
Всего: 0



Блин, че-то я не туда посмотрел! :hehe

DisableTaskMgr(True); - работает, но при нажатии Ctrl+Alt+Del вылетает сообщение (которое мне очень не нравиться, а главное она выдает в чем причина не срабатывания нажатия клавишь!), что типо "Диспетчер задач отключен администратором", может и окошко это в реестре можно вырубить???
И еще, не всегда есть доступ к изменению реестра, особенно в XP!!!

А может кто знает как это все дело провернуть через простое нажатие клавишь, по такому типу можно например нажатие горячих клавиш заставить программу ловить :

Код

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
protected
procedure hotykey(var msg:TMessage); message WM_HOTKEY;
end;

var
 Form1: TForm1;
 id,id2:Integer;

implementation

{$R *.DFM}

procedure TForm1.hotykey(var msg:TMessage);
begin
if (msg.LParamLo=MOD_CONTROL) and (msg.LParamHi=81) then
begin
ShowMessage('Ctrl + Q wurde gedrьckt !');
end;
if (msg.LParamLo=MOD_CONTROL) and (msg.LParamHi=82)
then
begin
ShowMessage('Ctrl + R wurde gedrьckt !');
{здесь что-то типо замены сообщений виндовс или не получиться ?}
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
id:=GlobalAddAtom('hotkey');
RegisterHotKey(handle,id,mod_control,81);
id2:=GlobalAddAtom('hotkey2');
RegisterHotKey(handle,id2,mod_control,82);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(handle,id);
UnRegisterHotKey(handle,id2);
end;

end.

В этом коде, что-то не получилось у меня даже WIN+D отловить, не говоря уже о Ctrl+Alt+Del !

Таким макаром это сделать нельзя , т.е. например отловил нажатие и сообщение виндовс о запуске менеджера заменить другим каким нибудь, но без DLL, так можно??????
:sample


PM MAIL ICQ   Вверх
Akella
Дата 20.10.2004, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: нет
Всего: 329



выломай клавишу Delete из клавы
PM MAIL   Вверх
Felt
Дата 20.10.2004, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 14.6.2004

Репутация: нет
Всего: нет



Гм... А зачем вырубать менеджер? Можно ведь только свою прогу скрыть из списка задач даже в 2000\XP я уж не говорю о 9x
PM MAIL   Вверх
Pathfider
Дата 20.10.2004, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 13.7.2004
Где: все там же

Репутация: нет
Всего: 1



Цитата
Гм... А зачем вырубать менеджер? Можно ведь только свою прогу скрыть из списка задач даже в 2000\XP я уж не говорю о 9x

Ага... А как ты ее из списка процессов уберешь?
--------------------
Trust is a weakness
PM MAIL   Вверх
decoder
Дата 20.10.2004, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 18.5.2004
Где: Харьков(хохол, к сожалению)

Репутация: 1
Всего: -1



Цитата(Pathfider @ 20.10.2004, 14:57)
Ага... А как ты ее из списка процессов уберешь?

Тю, дык, валялся ж, вроде, на хворуме код, или я чё-та не понимаю?
--------------------
Молчать, я вас спрашиваю!
PM MAIL   Вверх
Nicholas
Дата 21.10.2004, 02:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 436
Регистрация: 30.9.2004

Репутация: нет
Всего: 0



Цитата(Felt @ 20.10.2004, 14:34)
А зачем вырубать менеджер?


Зтем, чтобы не только мою, но и чужие проги не вырубались!!!
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.1026 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.