Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.13;
Скачать: CL | DM;

Вниз

Как узнать, что запустило мою программу (мой EXE-файл)?   Найти похожие ветки 

 
SottNick ©   (2002-11-27 08:08) [0]

собственно, сабж (Как узнать, что запустило мою программу (мой EXE-файл)?)

хоть что-нибудь
ID процесса
Handle чего-нить
что угодно


 
mumu   (2002-11-27 09:51) [1]

смотреть здесь: http://www.delphikingdom.com/mastering/wmi.htm
один из примеров как раз и называется GetProcessData


 
SottNick ©   (2002-11-27 11:40) [2]

> mumu
1. у меня нет WMI SDK. не могу попроборать запустить пример.
2. не уверен, что это то

мне надо, чтоб моя прога сказала, запустил ее Explorer или TotalCommander


 
mumu   (2002-11-28 03:49) [3]

Не нравится WMI, можно использовать TlHelp32.
Получение ID родительского процесса с использованием ToolHelp-функций.
...
uses ..., TlHelp32;
...
procedure TForm1.Button1Click(Sender: TObject);
var
hProcessSnap, CProcessID: THandle;
pe32: TPROCESSENTRY32;
begin
// получаем ID нашего процесса
CProcessID:=GetCurrentProcessID;
// делаем снимок системы
hProcessSnap:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
pe32.dwSize:=sizeof(PROCESSENTRY32);
// ищем в сделанном снимке системы наш процесс
Process32First(hProcessSnap, pe32);
while CProcessID<>pe32.th32ProcessID do
Process32Next(hProcessSnap, pe32);
// в поле th32ParentProcessID структуры PROCESSENTRY32
// ID родительского процесса
Label1.Caption:="ParentProcessID: "+IntToStr(pe32.th32ParentProcessID);
CloseHandle(hProcessSnap);
end;


Все это должно работать, начиная с Win95.
PS. Обработка ошибок убрана намеренно, чтобы разгрузить код.


 
SottNick ©   (2002-11-28 06:30) [4]

Отлично!
Работает как надо.



Страницы: 1 вся ветка

Текущий архив: 2003.01.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
6-37253
kalishenko stas
2002-11-13 20:40
2003.01.13
Ошибка


6-37251
OlegL
2002-11-14 11:15
2003.01.13
Как избежать ошибки


1-37009
Step[B.M.]
2003-01-01 14:25
2003.01.13
Как посимвольно читая char отреагировать на 0 символ


1-37036
Palladin
2003-01-02 13:19
2003.01.13
по поводу control ов


3-36956
DiLLeR
2002-12-17 14:38
2003.01.13
Delphi6 + QReport проблема, может кто сталкивался ...