![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не хочет работать в OnShow(OnCreate): if Process32First(handler,d [D7, WinXP]
Arturchik © (2004-04-05 15:11:00)Точнее if Process32First(handler,data) then... работает только постоянно идёт по else, исли запустить его в OnActivate то всё в порядке но уже поздно... :-( в чём проблема? А главное как её решить? :-)
Arturchik (2004-04-07 00:32:00) [21]>угу .. и ты еще поди DoWork в Synchronize() обернул
Естественно
Digitman (2004-04-06 16:36:00) [22]
> поток нужен обязательно
угу .. и ты еще поди DoWork в Synchronize() обернул
Kerk (2004-04-06 15:39:00) [23]размер структуры
dataустанови...
data.dwSize := SizeOf(data);
GrayFace (2004-04-06 14:56:00) [24]А разве не льзя перебрать процессы обычным WinAPI?
Скажи, зачем тебе это? Может цель лучше делать по-другому.
Arturchik (2004-04-05 19:03:00) [25]procedure Thread.DoWork;
begin
handler:=CreateToolhelp32Snapshot(TH32_SNAPPROCESS,0);
if Process32First(handler,data) then
while Process32Next(handler,data) do
поток нужен обязательно
Digitman (2004-04-05 16:17:00) [26]это - к верху
приведи полный код для начала
Игорь Шевченко (2004-04-05 16:15:00) [27]Arturchik © (05.04.04 15:59)
procedure TMyCoolForm.FormCreate (Sender: TObject);
begin
PostMessage(Handle, UM_EnumProcesses, 0, 0);
end;
Arturchik (2004-04-05 15:59:00) [28]>почему в OnCreate() не послать самому себе PostMessage(), в >обработчике которого и реализовать цикл енумерации процессов ?
это как?
Digitman (2004-04-05 15:57:00) [29]
> без разницы
мого быть, мого быть)
Игорь Шевченко (2004-04-05 15:55:00) [30]
> енумерация процессов в системах на НТ-платформе (каковой
> является ХР) должна производиться средствами psapi , а не
> средствами tlhelp32
Да на XP это без разницы :)
Digitman (2004-04-05 15:53:00) [31]
> OnActivate работает, а в OnCreate или OnShow ХРЕН
а ХРЕН поймешь, понимаешь ли ты логику и последовательность возникновения тех или иных событий объекта-формы ...
а был бы еще косой десяток разных событий - во всех бы перепробовал свой код ? МОЛ, авось заработает и ХРЕН с ним ? или как ?
почему в OnCreate() не послать самому себе PostMessage(), в обработчике которого и реализовать цикл енумерации процессов ?
это - раз
второе.
енумерация процессов в системах на НТ-платформе (каковой является ХР) должна производиться средствами psapi , а не средствами tlhelp32
Arturchik (2004-04-05 15:27:00) [32]Нееет, она вообще не должна идти по else, if там нужен для контроля, а не для выбора. А тут идёт по else и хоть ты тресни. Запускаю кнопкой или OnActivate работает, а в OnCreate или OnShow ХРЕН.
Digitman (2004-04-05 15:23:00) [33]
> всё в порядке но уже поздно
угу ... уже кирдык приключился .. и всякий раз будет приключаться, когда окно формы будет получать фокус ввода
> работает только постоянно идёт по else
т.е. работает , но чуть-чуть)..
Arturchik (2004-04-05 15:22:00) [34]ааа... непонял?
VMcL (2004-04-05 15:13:00) [35]У тебя ошибка в программе. Если точнее, то в 17-й строке.