Страница: 1 | 2 |
Вопрос: Определить путь к процессу
Добавлено: 27.01.09 16:05
Автор вопроса: AWР | Web-сайт:
s = "Путь=" + System.Diagnostics.Process.GetProcesses(My.Computer.Name)(23).StartInfo.WorkingDirectory
при этом выходит что s="Путь="
Почему? в чём ошибка объясните
Ответы
Всего ответов: 19
Номер ответа: 1
Автор ответа:
Page
Вопросов: 5
Ответов: 20
Профиль | | #1
Добавлено: 27.01.09 16:10
походу путь в начале торчит-неправильно
Номер ответа: 2
Автор ответа:
AWР
ICQ: 345685652
Вопросов: 38
Ответов: 106
Web-сайт:
Профиль | | #2
Добавлено: 27.01.09 16:25
нет.
s = System.Diagnostics.Process.GetProcesses(My.Computer.Name)(23).StartInfo.WorkingDirectory
чему бы могла быть равна s? правильно s=""
только вот почему? может вообще код для определения пути не такой или что
Номер ответа: 3
Автор ответа:
AWР
ICQ: 345685652
Вопросов: 38
Ответов: 106
Web-сайт:
Профиль | | #3
Добавлено: 27.01.09 16:28
нет.
s = System.Diagnostics.Process.GetProcesses(My.Computer.Name)(23).StartInfo.WorkingDirectory
чему бы могла быть равна s? правильно s=""
только вот почему? может вообще код для определения пути не такой или что
Номер ответа: 4
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #4
Добавлено: 27.01.09 18:56
Сдается мне, дружище, что ты тут лоханулся по крупному.. И вот почему:
1. My.Computer.Name - возвращает тебе имя компютера,а ты там должен указать имя процесса а не компьютера(к примеру если бы ты искал все процессы блокнота то ты бы там указал notepad потому что именно так называется этот процесс)! Для того, чтобы этот код сработал, у тебя должна работать программа с точно таким же названием как и твой комьютер, что мало вероятно
2. Даже если и так.. допустим, что у тебя есть программа с таким именем и она запущена, то опять таки для работоспособности твоего кода у тебя должно быть запущенно минимум ДВАДЦАТЬ ЧЕТЫРЕ экземпляра(копии) этой программы.
3. Ну и последнее.. что ты наедещься получить от WorkingDirectory? Какой путь тебя интересует? Надеюсь, ты понимаешь что, что это вовсе не тот путь из которого этот процесс запущен?
Номер ответа: 5
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #5
Добавлено: 27.01.09 19:14
а если тебя интересует путь именно к исполняемому файлу фалй процесса, то в случае с блокнотом можно поступить следующим образом:
Номер ответа: 6
Автор ответа:
AWР
ICQ: 345685652
Вопросов: 38
Ответов: 106
Web-сайт:
Профиль | | #6
Добавлено: 27.01.09 22:23
Мне нужен путь к папке в которой лежит ЕХЕ файл процесса.
и не на джава(ты ведь на нем написал вроде)
Номер ответа: 7
Автор ответа:
AWР
ICQ: 345685652
Вопросов: 38
Ответов: 106
Web-сайт:
Профиль | | #7
Добавлено: 27.01.09 22:25
нет! туда надо писать имя компа на котором искать процесс.
Номер ответа: 8
Автор ответа:
AWР
ICQ: 345685652
Вопросов: 38
Ответов: 106
Web-сайт:
Профиль | | #8
Добавлено: 27.01.09 22:28
надо было просто написать не
s = System.Diagnostics.Process.GetProcesses(My.Computer.Name)(i).StartInfo.WorkingDirectory
а
s = System.Diagnostics.Process.GetProcesses(My.Computer.Name)(i).MainModule.FileName.ToString
Номер ответа: 9
Автор ответа:
AWР
ICQ: 345685652
Вопросов: 38
Ответов: 106
Web-сайт:
Профиль | | #9
Добавлено: 27.01.09 22:30
вопрос не в тему:как определить на сколько % процесс загружает проц, и как определить насколько загружен проц вообще? в %.
Номер ответа: 10
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #10
Добавлено: 27.01.09 23:32
а вот это ты зря.. тут так не делается..
Это сделать сделать достаточно просто подключившись стандартному счетчику производительности в системе либо достать эти данные через WMI..
вот один из способов
тут вообще все просто.. настолько просто, что я даже код писать не стану.
Подробности найдешь тут:
http://www.codeproject.com/KB/system/processescpuusage.aspx
Номер ответа: 11
Автор ответа:
AWР
ICQ: 345685652
Вопросов: 38
Ответов: 106
Web-сайт:
Профиль | | #11
Добавлено: 28.01.09 11:58
# }
#
# private static void DoWork()
# {
# do
# {
# Console.WriteLi
Eros, пиши по VB а не по джава, пожалста.
я смог перевести только это
 im cpu As New Diagnostics.PerformanceCounter()
cpu.CategoryName = "Processor"
cpu.CounterName = "% Processor Time"
cpu.InstanceName = "_Total"
MsgBox(cpu.NextValue())
а как перевести на нормальный язык это:
# Thread thread = new Thread(DoWork);
# thread.IsBackground = true;
# thread.Start();
?
Номер ответа: 12
Автор ответа:
AWР
ICQ: 345685652
Вопросов: 38
Ответов: 106
Web-сайт:
Профиль | | #12
Добавлено: 28.01.09 12:01
вот я написал, а выводит 0 всёравно
 im th As New Threading.Thread()
 im cpu As New Diagnostics.PerformanceCounter()
cpu.CategoryName = "Processor"
cpu.CounterName = "% Processor Time"
cpu.InstanceName = "_Total"
th.IsBackground = True
th.Start()
MsgBox(cpu.NextValue())
Номер ответа: 13
Автор ответа:
AWР
ICQ: 345685652
Вопросов: 38
Ответов: 106
Web-сайт:
Профиль | | #13
Добавлено: 28.01.09 12:02
вот я написал, а выводит 0 всёравно
 im th As New Threading.Thread()
 im cpu As New Diagnostics.PerformanceCounter()
cpu.CategoryName = "Processor"
cpu.CounterName = "% Processor Time"
cpu.InstanceName = "_Total"
th.IsBackground = True
th.Start()
MsgBox(cpu.NextValue())
Номер ответа: 14
Автор ответа:
@lex
Вопросов: 14
Ответов: 262
Профиль | | #14
Добавлено: 28.01.09 13:03
Номер ответа: 15
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #15
Добавлено: 28.01.09 14:37
ну раз ты мою "джаву" не понимаешь, то я бессилен тебе чем либо помочь..
удачи