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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2011, 20:56   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию TerminateProcess и windows Server 2008 x64. Неработает.

Всем привет!

Собственно сабж:
Код:
Function ProcessTerminate(PID: Cardinal): Boolean;
Var
HToken: THandle;
SeDebugNameValue: Int64;
Tkp: TOKEN_PRIVILEGES;
ReturnLength: Cardinal;
HProcess: THandle;
Begin
Result:=False;
If Not OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES
Or TOKEN_QUERY,HToken) Then
Exit;
If Not LookupPrivilegeValue(Nil,'SeDebugPrivilege',SeDebugNameValue) Then
Begin
CloseHandle(HToken);
Exit;
End;
Tkp.PrivilegeCount:=1;
Tkp.Privileges[0].Luid:=SeDebugNameValue;
Tkp.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(HToken,False,Tkp,SizeOf(Tkp),Tkp,ReturnLength);
If GetLastError()<> ERROR_SUCCESS Then
Exit;
HProcess:=OpenProcess(PROCESS_TERMINATE,FALSE,PID);
If HProcess=0 Then
Exit;
If Not TerminateProcess(HProcess,DWORD(-1)) Then
Exit;
CloseHandle(HProcess);
Tkp.Privileges[0].Attributes:=0;
AdjustTokenPrivileges(HToken,FALSE,Tkp,SizeOf(Tkp),Tkp,ReturnLength);
If GetLastError() <> ERROR_SUCCESS Then
Exit;
Result:=True;
End;
при помоши GetLastError и SysErrorMessage вытащил это:
Error code: 5
Error message: Отказано в доступе


Прова доступа полные.


как быть?

ЗюЫю стандартный TerimateProcess тот же эффект

Последний раз редактировалось Человек_Борща; 16.02.2011 в 10:46.
Человек_Борща вне форума Ответить с цитированием
Старый 15.02.2011, 22:00   #2
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

Код:
procedure TForm1.Button2Click(Sender: TObject);
var 
  PID:Cardinal;
  hProc:Cardinal;
  asd: THandle;
begin
  PID := 4428;
  asd  := FindWindow(Nil,'Безымянный - блокнот');
  GetWindowThreadProcessId(asd,PID);
  hProc := OpenProcess(PROCESS_TERMINATE,true,PID);
  TerminateProcess(hProc,0);
end;
так попробуи
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 15.02.2011, 22:00   #3
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

Код:
procedure TForm1.Button2Click(Sender: TObject);
var 
  PID:Cardinal;
  hProc:Cardinal;
  asd: THandle;
begin
  PID := 4428;
  asd  := FindWindow(Nil,'Безымянный - блокнот');
  GetWindowThreadProcessId(asd,PID);
  hProc := OpenProcess(PROCESS_TERMINATE,true,PID);
  TerminateProcess(hProc,0);
end;
так попробуи

не знаю как так получилось, что вышло 2 сообшения
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 15.02.2011, 22:18   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

эмм я же написал:
Код:
ЗюЫю стандартный TerimateProcess тот же эффект
Человек_Борща вне форума Ответить с цитированием
Старый 16.02.2011, 10:47   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

мб кто знает причину?
Человек_Борща вне форума Ответить с цитированием
Старый 16.02.2011, 13:25   #6
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Да, но не скажем.

Не надо тебе это знать. Рано ещё.

Читай книжки умные.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 16.02.2011, 13:29   #7
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

Цитата:
Читай книжки умные.
какие например
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 16.02.2011, 13:49   #8
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

По этой теме - Рихтера и Майкла Ховарда.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
cin неработает programm Общие вопросы C/C++ 4 29.12.2010 15:11
неработает USB VVkSoft Операционные системы общие вопросы 10 12.02.2010 23:25
Помогите неработает xxxNeXxxx Помощь студентам 4 04.11.2009 23:47
Сделал чат и неработает kakawkin Работа с сетью в Delphi 25 21.10.2009 21:16
Неработает программа I_Love_Nike Софт 8 24.09.2009 20:20