Как завершить процессы для всех пользователей на Windows Server 2008 под администратором?

Как завершить процесс 1cv8c.exe для всех пользователей на Windows Server 2008 под администратором? Есть код, он завершает процесс, но на Windows Server такое не прокатило, хотя на Windows 7 Enterprise все работает.
Проблема в многопользовательности. Как решить задачу? Заранее спасибо.

uses TLHelp32;
...
function CloseByExeName(ExeFilename: String): Integer;
var
continueloop: Boolean;
fsnapshothandle: THandle;
fprocessentry32: TProcessEntry32;
const
//константа для команды завершения процесса
process_terminate=$0001;
begin
Result := 0;
//переводим имя файла в верхний регистр для сравнения
ExeFilename = uppercase(ExeFilename);
//получаем снимок работабщих в системе процессов
fsnapshothandle := createtoolhelp32snapshot(th32cs_snapprocess,0);
fprocessentry32.dwsize := sizeof(fprocessentry32);
continueloop := process32first(fsnapshothandle,fprocessentry32);
//перебираем процессы
while integer(continueloop)<>0 do
begin
//если имя файла совпадает с искомым, то пробуем его завершить
if ( ( uppercase( extractfilename( fprocessentry32.szexefile ) ) = ExeFilename ) OR
( uppercase( fprocessentry32.szexefile ) = ExeFilename) ) then
Result := integer( terminateprocess( openprocess( process_terminate, bool(0), fprocessentry32.th32processid ), 0) );
//берем следующий процесс
continueloop := process32next(fsnapshothandle,fprocessentry32);
end;
closehandle(fsnapshothandle);
end;
26.10.18
0 ответов
Ответов пока нет
Рекомендуем личную консультацию

Сергей

Программирование (сайты/базы данных/программы/скрипты/дипломные работы/курсовые/лабораторные и другое) WEB | HTML| CSS | JavaScript | PHP | SQL | Python | C++ | Удалённая помощь | Автоматизация рутинных задач | Нестандартные задачи | etc. . .
Посмотреть всех экспертов из раздела Технологии > Delphi
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store