![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как унать родителя [Win95/98]
pic © (2005-12-30 07:17:00)как унать родителя запустившего копию моей прграммы?
ekamaloff (2005-12-30 11:09:00) [1]Можно так, хотя это наверняка не самый простой способ:
program ParentProcess;
{$APPTYPE CONSOLE}
uses
SysUtils, TLHelp32, Windows;
function GetParentProcessID(ProcessID: LongWord): LongWord;
var
HSnap: THandle;
ProcessEntry: TProcessEntry32;
begin
Result := 0;
HSnap := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if HSnap = INVALID_HANDLE_VALUE then
Exit;
ProcessEntry.dwSize := SizeOf(ProcessEntry);
if not Process32First(HSnap, ProcessEntry) then begin
CloseHandle(HSnap);
Exit;
end;
repeat
if ProcessEntry.th32ProcessID = ProcessID then begin
Result := ProcessEntry.th32ParentProcessID;
Break;
end;
until not Process32Next(HSnap, ProcessEntry);
CloseHandle(HSnap);
end;
begin
Writeln('Parent process ID: ', GetParentProcessID(GetCurrentProcessID));
Readln;
end.