Страница: 1 | 2 | 
		
		 
			   
			 
			 
			 
			 
			
 
  
		
     
  
    
Вопрос: Определить путь к процессу
     
    
Добавлено: 27.01.09 16:05
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
    
 AWР | Web-сайт: bomber.h17.ru | ICQ: 345685652 
      
       
  
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
       
    
       
  
 
    
ну раз ты мою "джаву" не понимаешь, то я бессилен тебе чем либо помочь..
удачи