purebasic.info

PureBasic forum
Текущее время: Сб ноя 18, 2017 8:37 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: Сб июл 08, 2017 9:25 am 
Не в сети
профессор

Зарегистрирован: Вс авг 31, 2014 12:11 am
Сообщений: 381
Благодарил (а): 47 раз.
Поблагодарили: 18 раз.
Пункты репутации: 10
Здравствуйте.
Суть задачи в названии темы. Допустим есть скомпилированный exe, как в нём определить откуда или кто его запустил (explorer, total commander или вообще из консоли)?

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


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Сб июл 08, 2017 3:09 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11053
Благодарил (а): 4 раз.
Поблагодарили: 374 раз.
Код:
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_())


_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Сб июл 08, 2017 3:14 pm 
Не в сети
профессор

Зарегистрирован: Вс авг 31, 2014 12:11 am
Сообщений: 381
Благодарил (а): 47 раз.
Поблагодарили: 18 раз.
Пункты репутации: 10
Спасибо большое, Пётр. Действительно выдаёт "родительский" PID.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB