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

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

System [D7]


Pacific ©   (2007-09-28 21:15:00) 

Здравствуйте! Хотел бы задать несколько вопросов.
1) Мне нужно сделать чтобы мое приложение в дистпетчере задач отображалось как системное и его нельзя было закрыть.
2) Как прочитать загаловок приложения, допустим если присутствует в каком нибудь запущеном прилолжение слово l2 то закрываем его


homm   (2007-09-28 22:38:00) [1]

procedure KillProgram(WindowTitle : PChar);

 function EnumFunc (hwnd: THandle; lParam: Pchar): BOOL; stdcall;
 var
   s: array [0..255] of Char;
 begin
   GetWindowText(hWnd, S, 255);
   if StrPos(s, lParam) <> nil then
     SendMessage(hWnd, WM_CLOSE, 0, 0);
   Result := TRUE;
 end;

begin
 EnumWindows(@EnumFunc, Integer(WindowTitle));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 KillProgram('Блокнот');
end;


Pacific   (2007-09-28 22:15:00) [2]

Немогли бы примерчик какой нить?
1) как я могу узнать загаловок окна
2) как я могу по загаловку окна узнать какое приложение это и закрыть его, причем мне надо сделать так чтобы пример:
'Безымянный - блакнот' если в любом запущенном приложение в загаловке есть слово блакнот, то мы убиваем это приложение


homm   (2007-09-28 22:06:00) [3]

> [5] Pacific   (28.09.07 21:57)
> но ошибка вот здесь TheWindow : HWND;
Что значит «ошибка вот здесь»? Здесь нет никакой ошибки.

> ProcessHandle := OpenProcess(PROCESS_TERMINATE, FALSE, ProcessId);
Ты уверен, что винда даст право на убиение неповинных процессов? Я не говорю, что нет, просто я не уверен :) Лучше неверное слать WM_CLOSE.


Pacific   (2007-09-28 21:57:00) [4]

Ошибся, я имел введу загаловок окна:)
Вот что я нашел, но ошибка вот здесь TheWindow : HWND;
procedure KillProgram(Classname : string; WindowTitle : string);
const
PROCESS_TERMINATE = $0001;
var
ProcessHandle : THandle;
ProcessID: Integer;
TheWindow : HWND;
begin
TheWindow := FindWindow(Classname, WindowTitle);
GetWindowThreadProcessID(TheWindow, @ProcessID);
ProcessHandle := OpenProcess(PROCESS_TERMINATE, FALSE, ProcessId);
TerminateProcess(ProcessHandle,4);
end;


homm   (2007-09-28 21:51:00) [5]

> [3] Bast   (28.09.07 21:48)
> загаловке приложения

Ну нет у приложения заголовка! Не сподобилась майкросовтс сделать так, как тебе нужно.

Подсказку, хочешь? Тебе нужен заголовок окна!


Bast   (2007-09-28 21:48:00) [6]


> Что делает? На пальцах, пожалуста.

Если в загаловке приложения (любого) есть слово l2 то моя программа должна закрыть это приложение. Как я могу это сделать?


Pacific   (2007-09-28 21:24:00) [7]

Кароче, я пишу программу которая если запускается читерская программа для игры xxx моя программа закрывает клиент игры xxx


homm   (2007-09-28 21:20:00) [8]

> [0] Pacific   (28.09.07 21:15)
> Как прочитать загаловок приложения

Нет такого поняти я никогда не было.


> если присутствует в прилолжение слово l2

Что делает? На пальцах, пожалуста.


Наверх

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