![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
вопрос по ToolHelp32
RDS © (2006-01-10 19:52:00)Подскажите плиз, что может быть.
procedure TSnapShot.CreateSnap;
var
hSnap: THandle;
....
begin
hSnap:=CreateToolHelp32SnapShot(TH32CS_SNAPALL,0);
|
+- возвр. ~1792
if Process32First(hSnap,Data) then begin
|
+- возвращает False
while Process32Next(hSnap,Data) do begin
....
end;
end else begin
// И переходит сразу сюда
// получается список процессов пуст
end;
Под W2k работает, а под WinXP нет. Не делает снимок. Интересно...
Подскажите плиз почему так.
begin...end (2006-01-10 20:18:00) [1]> RDS © (10.01.06 20:17) [5]
Help -> Windows SDK
RDS (2006-01-10 20:17:00) [2]Кстати, я что-то не увидел в help'е ничего по поводу TlHelp32, там что, действительно нету?
begin...end (2006-01-10 20:16:00) [3]> RDS © (10.01.06 20:08) [2]
> ну а чего туда присваивать-то
Data.dwSize := sizeof(Data)
MBo (2006-01-10 20:14:00) [4]Data.dwSize:=SizeOf(TProcessEntry32)
RDS (2006-01-10 20:08:00) [5]Сорри
var
hSnap: THandle;
Data: TProcessEntry32;
> Во-вторых, перед вызовом Process32First нужно
> инициализировать поле PROCESSENTRY32.dwSize.
В "Кулибе" по этому поводу ничего нет, или я не увидел.
получается, что нужно написать так :
Data.dwSize:=// ну а чего туда присваивать-то
begin...end (2006-01-10 19:59:00) [6]Во-первых, приведите объявление переменной Data. Во-вторых, перед вызовом Process32First нужно инициализировать поле PROCESSENTRY32.dwSize.