Как зайти в Даркнет?!
25th January, 01:11
6
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
895
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
914
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
906
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4351
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4396
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Process.StartTime Доступ Запрещен
Мой код должен определить, как долго выполняется конкретный процесс. Но он продолжает отказывать с сообщением об ошибке отказано в доступе на запрос Process.StartTime . Это процесс, запущенный с учетными данными пользователя (т. е. не процесс с высокими привилегиями). Там явно есть параметр безопасности или параметр политики, или что- то , с чем мне нужно покрутить, чтобы исправить это, так как я не могу поверить, что свойство StartTime находится в рамках только для того, чтобы оно могло отказать 100% раз.
Поиск в Google показал, что я могу решить эту проблему, добавив пользователя, чьи учетные данные код запроса выполняется в группу "Performance Log Users". Однако на этой машине такой группы пользователей не существует.
Я читал что-то похожее на то, что ты говорил в прошлом, Ларс. К сожалению, я несколько ограничен в том, что я могу сделать с рассматриваемой машиной (другими словами, Я не могу волей-неволей создавать группы пользователей: это сервер, а не просто какой-то случайный PC).
Спасибо за ответы, Уилл и Ларс. К сожалению, они не решили мою проблему.
Конечным решением этой проблемы является использование WMI:
using System.Management;
String queryString = "select CreationDate from Win32_Process where ProcessId='" + ProcessId + "'";
SelectQuery query = new SelectQuery(queryString);
ManagementScope scope = new System.Management.ManagementScope(@"\\.\root\CIMV2");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
ManagementObjectCollection processes = searcher.Get();
//... snip ... logic to figure out which of the processes in the collection is the right one goes here
DateTime startTime = ManagementDateTimeConverter.ToDateTime(processes[0]["CreationDate"].ToString());
TimeSpan uptime = DateTime.Now.Subtract(startTime);
Части этого были соскоблены из проекта кода:
http://www.codeproject.com/KB/system/win32processusingwmi.aspx
И Еще: "Эй, Сценарист!":
http://www.microsoft.com/technet/scriptcenter/resources/qanda/jul05/hey0720.mspx
Процесс .Net 1.1 использует счетчики производительности для получения информации. Либо они отключены, либо пользователь не имеет административных прав. Убедитесь, что счетчики производительности включены и пользователь является администратором, который должен заставить ваш код работать.
На самом деле "Performance Counter Users Group" должно быть достаточно. По умолчанию группа не существует. Поэтому вы должны создать его сами.
Процесс .Net 2.0 не зависит от счетчиков производительности.
Увидеть http://weblogs.asp.net/nunitaddin/archive/2004/11/21/267559.aspx
Ладно, извини, что не получилось... Я не эксперт по ASP.NET олицетворению, я обычно использую пулы приложений, которые я не думаю, что вы можете сделать на W2K вы пробовали написать крошечное тестовое приложение, которое делает тот же запрос, а затем запускает его от имени различных пользователей?
Я неохотно публикую здесь фрагмент кода фреймворка MS, но вы можете использовать либо Reflector, либо это: http://www.codeplex.com/NetMassDownloader , чтобы получить исходный код для соответствующих битов фреймворка, чтобы попытаться реализовать различные биты, чтобы увидеть, где это не удается.
Можете ли вы получить любую другую информацию о процессе, не получая отказа в доступе?
Я могу перечислить процесс (т. е. функция GetProcessById работает), и у нас есть другой код, который получает имя EXE и другие биты информации.
Я дам тестовое приложение попробовать. Я также попытаюсь использовать WMI, чтобы получить эту информацию, если я не могу заставить реализацию C# работать должным образом в короткие сроки (это не критическая функциональность, поэтому я не могу тратить на нее дни).