Страница: 1 | 2 | 
		
		 
			   
			 
			 
			 
			 
			
 
  
		
     
  
    
Вопрос: PID <- ShellExecute
     
    
Добавлено: 20.04.06 20:02
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
    
 gvozd | Web-сайт: www.gvozdsoft.com
      
       
  
 
    
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 19
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 16 
      
Автор ответа:
 HOOLIGAN
![]()
Вопросов: 0
Ответов: 1066
      
 Профиль |  | #16
       
Добавлено:  24.04.06 12:39
       
    
       
  
LamerOnLine
 
    
Если рассуждать так как ты рассуждаешь, то парент может быть только один: процесс System и более никого, ибо все следы ведут к нему.
Речь не идёт о субпарентах и субчайлдах. Только в пределах одной ступени.
Строить полное дерево со всей иерархией отцов и детей смысла нет. Т.к. дед не рожает внука.
Чтобы отследить все процессы, запущеные данным процессом в одном поколении, ParendID более чем достаточно. А следующие поколения - они запущены не нашим процессом, хотя и потомками нашего. Они нас не интересуют.
		
	  
			 
	
		 
    
       
    
Номер ответа: 17 
      
Автор ответа:
 LamerOnLine
![]()
![]()
![]()
ICQ: 334781088 
Вопросов: 108
Ответов: 2822
      
 Профиль |  | #17
       
Добавлено:  24.04.06 12:52
       
    
       
  
Я немного о другом - будет ли ParentID процесса, созданного запуском документа через ShellExecute, именно ID того процесса, который запускал ShellExecute? Уверенности нет, ибо не проверял.
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 18 
      
Автор ответа:
 HOOLIGAN
![]()
Вопросов: 0
Ответов: 1066
      
 Профиль |  | #18
       
Добавлено:  24.04.06 13:10
       
    
       
  
Именно так и будет.
 
    
Моя прога (PID=2032) запускает через ShellExecute файл c:\1.txt.
У появившегося процесса Notepad ParentID=2032.
		
	  
			 
	
		 
    
       
    
Номер ответа: 19 
      
Автор ответа:
 LamerOnLine
![]()
![]()
![]()
ICQ: 334781088 
Вопросов: 108
Ответов: 2822
      
 Профиль |  | #19
       
Добавлено:  24.04.06 13:16
       
    
       
  
Ну раз так, то несколько проще. Хотя такой метод поиска последнего запущенного процесса, ИМХО, не является ни надежным, ни оптимальным.
 
    
Фактически, можно с такими же затратами узнать какое приложение ассоциировано с данным расширением и запустить его через Shell (CreateProcess).