Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2011, 14:10   #1
xaero93
Пользователь
 
Регистрация: 27.02.2009
Сообщений: 53
По умолчанию Ошибка в коде

Код:
procedure TForm1.Button1Click(Sender: TObject);
var p:PROCESSENTRY32;ct:cardinal;th:Cardinal;
begin
ct:=CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
Process32First(ct,p);
while Process32Next(ct,p) do 
 begin
  f p.szExeFile='calc.exe' then
    begin
    th:=OpenProcess(PROCESS_ALL_ACCESS,false,p.th32ProcessID);
    TerminateProcess(th,0);
  end;
 end;
end;
Вроде все просто и правильно, а калькулятор не закрываеся.
Нид хелп
З.Ы. Сильно не бейте за некрасивый код, мне всего лишь 15 лет
xaero93 вне форума Ответить с цитированием
Старый 30.01.2011, 15:08   #2
baster128
Форумчанин
 
Аватар для baster128
 
Регистрация: 24.04.2010
Сообщений: 205
По умолчанию

Процедура закрывает прогу загрузившую окно и при желании удаляет экзешник с диска

Код:
procedure TForm1.KillProgram(TheWindow:hWnd);
const 
  PROCESS_TERMINATE = $0001; 
var 
  ProcessHandle : THandle; 
  ProcessID: Integer;
  hModule,nSize:cardinal;
  cbNeeded : dWord;
  PathEx:string;
begin
  nSize:=128;
  SetLength(PathEx,nsize);
  GetWindowThreadProcessID(TheWindow, @ProcessID);
  ProcessHandle := OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessId);
  EnumProcessModules(ProcessHandle, @hModule, sizeof(hModule), cbNeeded);
  GetModuleFileNameEx(ProcessHandle,hModule,pchar(PathEx),nSize);
  TerminateProcess(ProcessHandle,4);
  if MessageBox(Handle,pchar(PathEx),'Удалить прогу с диска ?',
mb_IconQuestion+mb_YesNo)=idYes then DeleteFile(PathEx)else
if ddMove.Execute then
with foPer do begin
FileList.Add(PathEx);
DestFolder:=ddMove.DirPath;
Move
end;
  CloseHandle(ProcessHandle)
 end;

Последний раз редактировалось Stilet; 30.01.2011 в 16:02.
baster128 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка в коде sanya94 Общие вопросы C/C++ 15 12.01.2011 19:26
Ошибка в коде, ошибка в css или это проблема с совместимостью с браузерами? ankris HTML и CSS 5 23.11.2010 16:58
Ошибка в коде Molochnik Общие вопросы C/C++ 0 20.06.2010 07:50
Ошибка в коде.. NSvirus PHP 4 14.10.2009 22:57
Ошибка в коде. fanyl Паскаль, Turbo Pascal, PascalABC.NET 10 21.09.2009 12:09