/* * Copyright (c) 2019 ETH Zürich, Educational Development and Technology (LET) * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ using SafeExamBrowser.WindowsApi.Contracts.Events; namespace SafeExamBrowser.WindowsApi.Contracts { /// /// Represents a process and defines its functionality. /// public interface IProcess { /// /// Indicates whether the process has been terminated. /// bool HasTerminated { get; } /// /// The process identifier. /// int Id { get; } /// /// The file name of the process executable. /// string Name { get; } /// /// The original file name of the process executable, if available. /// string OriginalName { get; } /// /// Event fired when the process has terminated. /// event ProcessTerminatedEventHandler Terminated; /// /// Attempts to gracefully terminate the process by closing its main window. This will only work for interactive processes which have a main window. /// bool TryClose(); /// /// Attempts to immediately kill the process. /// bool TryKill(); } }