Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];




Вниз

Process ID 


Demn   (2002-02-07 12:16) [0]

Доброго времени суток! Уважаемые мастера подскажите как программно узнать Process ID(любого)?



VuDZ   (2002-02-07 12:29) [1]

EnumProcesses
The EnumProcesses function retrieves the process identifier for each process object in the system.

BOOL EnumProcesses(
DWORD *lpidProcess, // array of process identifiers
DWORD cb, // size of array
DWORD *cbNeeded // number of bytes returned
);
Parameters
lpidProcess
[out] Pointer to an array that receives the list of process identifiers.
cb
[in] Specifies the size, in bytes, of the lpidProcess array.
cbNeeded
[out] Receives the number of bytes returned in the lpidProcess array.



drpass   (2002-02-07 12:35) [2]

EnumProcesses работает только на WindowsNT/2000/XP.
Для Win9x нужно использовать CreateToolhelp32Snapshot(th32cs_snapprocess, 0);
Соответственно, uses PSAPI в первом случае и uses TlHelp32 во втором



VuDZ   (2002-02-07 12:39) [3]

2drpass - читать умеем-с? :<
Process ID [D6, Win2k]



Demn   (2002-02-07 13:20) [4]

Большое спасибо!!!



Demn   (2002-02-07 13:31) [5]

To drpas.
Да, вот функция есть, только что-то я с ней разобраться не могу, можно как-нибудь по-подрбней. Примерчик если можно. Плиз. :)



drpass   (2002-02-07 16:48) [6]

>Demn вот кусок кода, структура TProcessEntry32 содержит разнообразную информацию - ProcessID, путь к исполняемому файлу и т.д. Будет работать на 9x/2000/XP
var
pe:TProcessEntry32;
ppe:PProcessEntry32;
snap:THandle;
res:string;
li:TList;

snap:=CreateToolhelp32Snapshot(th32cs_snapprocess, 0);
if integer(snap)=-1 then begin
res:="#Message$Не могу получить список процессов!%";
exit;
end else begin
pe.dwSize:=sizeof(pe);
if Process32First(snap, pe) then
repeat
new(ppe);
ppe^:=pe;
li.Add(ppe);
res:="";
until not Process32Next(snap, pe)
else res:="#Message$Нет процессов в списке! Вероятно, имеем дело с WinNT%";
end


>VuDZ
А что, ты пишешь программы, которые будут использоваться только на твоем компьютере, и нигде больше? Сочувствуем-с



VuDZ   (2002-02-07 18:02) [7]

2drpass
глупая ирония. посочуствуй лучше создателям Maya и иже с ними, которые пишут, что this is software only for winNT...

я пишу за деньги софт. который работает на определённой платформе. о чём сразу оговаривается...

или ты себя считаешь умнее других и знаешь как заменить кучу ф-ий winnt & win2k API своими?

ябы ещё пару слов сказал, да боюсь, что это будет слишком грубо :>



drpass   (2002-02-07 18:19) [8]

>VuDZ
Парень, я рад за тебя и за твой софт, но ты, видимо, не можешь отличить в форуме вопрос начинающего программиста от вопроса профессионалa. Мне все-таки кажется, что Demn не пишет клиент-серверную систему под заказ предприятия. И подсказка в этом случае должна быть соответствующей. А вот психовать по поводу замечаний - это отличительная черта подростка, а не профессионала.
Кстати, Maya - пример неудачный. Да, NT в 3D-графике - вынужденная необходимость, но это просто исключение из общего правила. Юзеров, которым вполне хватает Win98, поверь мне, намного больше.



VuDZ   (2002-02-07 19:18) [9]

drpass
но ты, видимо, не можешь отличить в форуме вопрос начинающего программиста от вопроса профессионалa
повторю ещё раз: я ответил на вопрос, в теме которого написано win2k...
А вот психовать по поводу замечаний - это отличительная черта подростка, а не профессионала.
Извени, если обидел, но я сегодня на взводе. причём очень конкретном, так что...
ЗЫ профи - это очень абстрактное понятие... даже наличие сертификата MCSD это не показатель... Иногда я сталкиваюсь с таким кодом. что мне кажется, быдто я - ламо, впервые увидевший комп :(

Кстати, Maya - пример неудачный. Да, NT в 3D-графике - вынужденная необходимость, но это просто исключение из общего правила.
ну, я почти не занимаюсь 3d программированием, просто много специфичного софта заточено только под NT и редко переноситься на win9x

Юзеров, которым вполне хватает Win98, поверь мне, намного больше.
может быть, но я не для них пишу :)
если я тебе скажу, что никогда не работал с win9x - поверишь?
win9x - это настолько большое извращение над ОС, что я порой удивляюсь, как под ней хоть что-то работает

ладно, пора прекращать этот флейм...



Demn   (2002-02-08 08:03) [10]

2 drpas & VuDZ
Спасибо народ за подсказку. Я действительно начинающий. А W2K исользую из-за ее относительной стабильности. Вот! :)




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.74 MB
Время: 0.029 c
7-32985           kievsash              2002-01-14 03:05  2002.04.11  
Как подставить свою прогу на Ctrl+Alt+Del


1-32887           JibSkeart             2002-03-29 10:39  2002.04.11  
Вопрос Немного Странный


1-32863           DikobraZ              2002-03-29 12:53  2002.04.11  
Pfgbcm в файл с без стирания.


7-32997           Zmey                  2002-01-17 06:15  2002.04.11  
помогите с TRichEdit


1-32744           Денис_                2002-03-30 12:52  2002.04.11  
Модификация ListBox