GetModuleFileNameEx
- From
- Leonid Troyanovsky ()
- To
- Alex Fedotov
- Date
- 2002-04-24T23:26:11Z
- Area
- SU.WINDOWS.NT.PROG
From: Leonid Troyanovsky <lv.t@eco-pro.ru>
Приветствую, Alex.
Alex Fedotov wrote:
> процессе (для пущей верности можно воспользоваться ZwQueryInformationProcess,
> чтобы получить этот адрес).
Можно спросить и у самого процесса
program getcommandline;
{$APPTYPE CONSOLE}
uses
windows, sysutils;
var
hProcess : THandle;
Pid : DWord ;
BytesRead: DWord ;
hThread : THandle;
dwThreadId : DWord;
ThreadExitCode: DWord;
buffer: array [0..MAX_PATH] of char;
begin
hProcess := 0;
pid := StrToInt(ParamStr(1));
try
hProcess := OpenProcess(PROCESS_ALL_ACCESS, False, Pid);
if (hProcess = 0) then
RaiseLastWin32Error;
hThread := CreateRemoteThread( hProcess,
nil,
0,
GetProcAddress( GetModuleHandle('KERNEL32.DLL'),
'GetCommandLineA'),
nil,
0,
dwThreadId);
if (hThread = 0) then
RaiseLastWin32Error;
WaitForSingleObject(hThread, INFINITE);
GetExitCodeThread(hThread, ThreadExitCode);
CloseHandle(hThread);
if not (ReadProcessMemory( hProcess,
Pointer(ThreadExitCode),
@buffer ,
SizeOf(Buffer),
BytesRead)) then
RaiseLastWin32Error;
finally
if ( hProcess <> 0) then
CloseHandle(hProcess);
end;
writeln(buffer);
readln;
end.
И есть ли на rsdn ссылка на http://www.mvps.org/win32/main.html ?
--
С уважением, LVT.
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5
* Origin: Talk.Mail.Ru (2:5020/400)