Проверьте, запускает ли стандартный пользователь Windows приложение с опцией run As Administrator, используя Service WinC#

Место общения программистов C#
Ответить
Anonymous
 Проверьте, запускает ли стандартный пользователь Windows приложение с опцией run As Administrator, используя Service Win

Сообщение Anonymous »

У меня пользовательская служба Windows (написанная в C#), которую я в основном использую для приложений Windows Windows или черного списка. Я не хочу использовать какую -либо существующую функциональность Windows или какое -либо коммерческое решение. Я хочу проверить, пытается ли стандартный пользователь запустить приложение Windows с опцией run As Administrator из контекстного меню. Использование ManagementEventWatcher () , которое подписывается на __instancecreationevent :

Код: Выделить всё

public class ProcessLaunchMonitorService : ServiceBase
{
public ProcessLaunchMonitorService()
{
this.ServiceName = "testservice";
}

protected override void OnStart(string[] args)
{
string query = "SELECT * FROM __InstanceCreationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process'";
// Setup the watcher
_watcher = new ManagementEventWatcher(query);
_watcher.EventArrived += new EventArrivedEventHandler(OnProcessStarted);
_watcher.Start();
}

private void OnProcessStarted(object sender, EventArrivedEventArgs e)
{
// Get the process name
var process = (ManagementBaseObject)e.NewEvent["TargetInstance"];
string processName = process["Name"].ToString();
int processId = Convert.ToInt32(process["ProcessId"]);
var launchedProcess = Process.GetProcessById(processId);
// want to check if this launchedProcess was launched with Run as Administrator option
}
}
< /code>
[b] текущий результат < /strong>:
Этот код полностью исполняется без какой -либо ошибки. В этом коде на самом деле отсутствует часть для обнаружения, если пользователь использовал опцию Run As Administrator 
при запуске приложения.
ожидаемый результат [/b]:
Как я могу проверить, использовал ли пользователь опцию запуска в качестве администратора при запуске приложения (

Код: Выделить всё

launchedProcess
)?

Подробнее здесь: https://stackoverflow.com/questions/793 ... as-adminis
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»