Операционные системы. Кручинин А.Ю. - 39 стр.

UptoLike

Составители: 

39
NULL,NULL,FALSE,NULL,NULL,NULL,&cif,&pi)==TRUE)
{
cout << "process" << endl;
cout << "handle " << pi.hProcess << endl;
Sleep(1000); // подождать
TerminateProcess(pi.hProcess,NO_ERROR); // убрать процесс
}
Листинг 15 Пример использования функции CreateProcess
Для удаления процесса используется функция:
Функция TerminateProcess
BOOL TerminateProcess
(
HANDLE hProcess, // Указатель процесса
UINT uExitCode // Код возврата процесса
);
Параметры:
hProcess Дескриптор процесса, который завершает работу.
uExitCode Код выхода, который использует процесс и потоки, чтобы завершить
работу в результате этого вызова. Используйте функцию GetExitCodeProcess,
чтобы извлечь значение выхода процесса. Используйте функцию
GetExitCodeThread, чтобы извлечь значение выхода потока.
Возвращаемые значения
Если функция завершается успешно, величина возвращаемого значения не
ноль. Если функция завершается с ошибкой, величина возвращаемого значения
ноль. Чтобы получать расширенные данные об ошибках, вызовите GetLastError.
При удалении процесса, открытого не нашим приложением, необходимо
получить информацию об окне и открыть процесс. Сначала необходимо найти окно
с помощью функции:
Функция FindWindowEx
HWND FindWindowEx
(
HWND hwndParent , // дескриптор родительского окна
HWND hwndChildAfter , // дескриптор дочернего окна
LPCTSTR lpszClass , // указатель на имя класса
LPCTSTR lpszWindow // указатель на имя окна
);
Функция FindWindowEx извлекает дескриптор окна, чье имя класса и имя
окна совпадают с указанными строками. Функция также просматривает дочерние
окна, начиная с того, дескриптор которого передан функции в качестве параметра
hwndChildAfter.
      NULL,NULL,FALSE,NULL,NULL,NULL,&cif,&pi)==TRUE)
{
      cout << "process" << endl;
      cout << "handle " << pi.hProcess << endl;
      Sleep(1000);                       // подождать
      TerminateProcess(pi.hProcess,NO_ERROR);         // убрать процесс
}
             Листинг 15 – Пример использования функции CreateProcess

      Для удаления процесса используется функция:

      Функция TerminateProcess
BOOL TerminateProcess
(
     HANDLE hProcess, // Указатель процесса
     UINT uExitCode   // Код возврата процесса
);

      Параметры:
hProcess – Дескриптор процесса, который завершает работу.
uExitCode – Код выхода, который использует процесс и потоки, чтобы завершить
работу в результате этого вызова. Используйте функцию GetExitCodeProcess,
чтобы     извлечь   значение     выхода    процесса.   Используйте  функцию
GetExitCodeThread, чтобы извлечь значение выхода потока.
      Возвращаемые значения
      Если функция завершается успешно, величина возвращаемого значения – не
ноль. Если функция завершается с ошибкой, величина возвращаемого значения –
ноль. Чтобы получать расширенные данные об ошибках, вызовите GetLastError.

     При удалении процесса, открытого не нашим приложением, необходимо
получить информацию об окне и открыть процесс. Сначала необходимо найти окно
с помощью функции:

      Функция FindWindowEx
HWND FindWindowEx
(
    HWND hwndParent ,            // дескриптор родительского окна
    HWND hwndChildAfter ,        // дескриптор дочернего окна
    LPCTSTR lpszClass ,          // указатель на имя класса
    LPCTSTR lpszWindow           // указатель на имя окна
);

      Функция FindWindowEx извлекает дескриптор окна, чье имя класса и имя
окна совпадают с указанными строками. Функция также просматривает дочерние
окна, начиная с того, дескриптор которого передан функции в качестве параметра
hwndChildAfter.

                                                                           39