Форум: "Потрепаться";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];
Внизсабж Найти похожие ветки
← →
СатирЪ © (2004-06-24 19:44) [0]как в винде узнать значение переменных окружения уже запущенного процесса?
← →
Игорь Шевченко © (2004-06-24 21:32) [1]В NT/Win2k/WinXP - через PEB, например.
PEB можно получить через NtQueryInformationProcess(...ProcessBasicInformation....) или по фиксированному адресу.
Пример работы с PEB есть в http://www.schevchenko.net.ru/SRC/EnumFunctions_60.zip
← →
СатирЪ © (2004-06-25 13:41) [2]
2Игорь Шевченко © (24.06.04 21:32) [1]
Благодарю.
PEB - Process Environment Block?
← →
СатирЪ © (2004-06-25 16:56) [3]type
TNtQueryProcessFunction =
function (ProcessID : Cardinal; ProcessClass : Integer;
Buffer : Pointer; BufferSize : Cardinal;
PReturnLength : PDWORD) : Integer; stdcall;
funciton GetProcessEnvironmentVariables:boolean;
var func : TNtQueryProcessFunction;
begin
Result:=False;
@func := GetProcAddress (GetModuleHandle ("ntdll.dll"),
"NtQueryInformationProcess");
if Assigned(func) AND (func (применить к чему-то)) then
begin
//
end;
end;
а как конкретно можно получить этот PEB?
← →
СатирЪ © (2004-06-25 17:13) [4]type
TPEB = packed record
InheritedAddressSpace : UChar;
ReadImageFileExecOptions : UChar;
BeingDebugged : UChar;
SpareBool : UChar;
Mutant : Ptr32;
ImageBaseAddress : Ptr32;
Ldr : Ptr32; { _PEB_LDR_DATA }
ProcessParameters : PRTL_USER_PROCESS_PARAMETERS { _RTL_USER_PROCESS_PARAMETERS };
SubSystemData : Ptr32;
ProcessHeap : Ptr32;
{ остальные данные упущены }
end;
PPEB = ^TPEB;
if NOT ReadProcessMemory(AProcessHandle,@PPEB(PEBAddress)^.ProcessParameters, @ATargetProcessParametersPointer, SizeOf(Ptr32), AReturned) then RaiseLastWin32Error();
Скажите, пожалуйста, где в этой структуре находятся переменные окружения ?
← →
Игорь Шевченко © (2004-06-25 22:52) [5]
> Скажите, пожалуйста, где в этой структуре находятся переменные
> окружения ?
> ProcessParameters : PRTL_USER_PROCESS_PARAMETERS
В этой структуре есть поле Environment. Оно и указывает на блок переменных окружения.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.034 c