purebasic.info
http://purebasic.info/phpBB3ex/

Определить процесс (имя, PID) из которого произведён запуск
http://purebasic.info/phpBB3ex/viewtopic.php?f=1&t=4727
Страница 1 из 1

Автор:  knower [ Сб июл 08, 2017 9:25 am ]
Заголовок сообщения:  Определить процесс (имя, PID) из которого произведён запуск

Здравствуйте.
Суть задачи в названии темы. Допустим есть скомпилированный exe, как в нём определить откуда или кто его запустил (explorer, total commander или вообще из консоли)?

Добавлено:
Спасибо. Уже не надо. Вопрос снят.

Автор:  Пётр [ Сб июл 08, 2017 3:09 pm ]
Заголовок сообщения:  Re: Определить процесс (имя, PID) из которого произведён зап

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Procedure GetParentPid(PID)
  Protected PEntry.PROCESSENTRY32, hTool32.i
   
  PEntry\dwSize = SizeOf(PROCESSENTRY32)
  hTool32 = CreateToolhelp32Snapshot_(#TH32CS_SNAPPROCESS, 0)
  Process32First_(hTool32, @PEntry)
   
  Repeat
   
    If PEntry\th32ProcessID = PID
      CloseHandle_(hTool32)
      ProcedureReturn PEntry\th32ParentProcessID
    EndIf
   
  Until Process32Next_(hTool32, @PEntry) = 0
 
  CloseHandle_(hTool32)
 
  ProcedureReturn 0
EndProcedure
 
Debug GetParentPid(GetCurrentProcessId_())


Автор:  knower [ Сб июл 08, 2017 3:14 pm ]
Заголовок сообщения:  Re: Определить процесс (имя, PID) из которого произведён зап

Спасибо большое, Пётр. Действительно выдаёт "родительский" PID.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/