Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.08.2012, 20:39   #1
niluser
 
Регистрация: 03.08.2012
Сообщений: 4
По умолчанию Получить список процессов через сокет

доброго времени суток.
есть код:
Код:
uses tlhelp32;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
 s: string;
 proc32: PROCESSENTRY32;
 a, b: cardinal;
begin
s:=Socket.ReceiveText;
if s='Proc' then
  begin
 label1.caption:='received';
 a:=CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
 Process32First(a, proc32);
 while Process32Next(a, proc32) do
  begin
   OpenProcessToken(proc32.th32ProcessID,TOKEN_READ,b);
   listbox4.Items.Add(string(proc32.szExeFile)+'  ID: '+inttostr(proc32.th32ProcessID));
  end;
 end;
end;
он выводит список процессов.
устанавливаю с сервером конект, посылаю строку:
Код:
ClientSocket1.Socket.SendText('Proc');
лейбл работает, а все остальное - нет
тем не менее в кнопке данный код работает, ни как не могу разобратся в чем дело

Последний раз редактировалось Stilet; 06.08.2012 в 07:04.
niluser вне форума Ответить с цитированием
Старый 03.08.2012, 20:51   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

Цитата:
лейбл работает, а все остальное - нет
иии? Где отсылка списка процессов?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 03.08.2012, 20:56   #3
niluser
 
Регистрация: 03.08.2012
Сообщений: 4
По умолчанию

сервер и клиент находятся на общей форме, пока
niluser вне форума Ответить с цитированием
Старый 03.08.2012, 23:01   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

это тут не причем, где вы отсылаете то список?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.08.2012, 00:21   #5
niluser
 
Регистрация: 03.08.2012
Сообщений: 4
По умолчанию

мне его никуда слать не надо, мне его нужно открыть на форме, где находиться сам ServerSocket
Код:
listbox4.Items.Add(string(proc32.szExeFile)+'  ID: '+inttostr(proc32.th32ProcessID));
niluser вне форума Ответить с цитированием
Старый 05.08.2012, 21:54   #6
xoodoo
Форумчанин
 
Регистрация: 11.04.2012
Сообщений: 212
По умолчанию

Цитата:
Сообщение от niluser Посмотреть сообщение
а все остальное - нет .. в чем дело
В том что a = - 1
xoodoo вне форума Ответить с цитированием
Старый 06.08.2012, 03:18   #7
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

Цитата:
сервер и клиент находятся на общей форме, пока
и чего?
Клиент должен отправить серверу результат деятельности.

Используйте PsAPI для получения списка процессов.
Человек_Борща вне форума Ответить с цитированием
Старый 06.08.2012, 07:06   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
В том что a = - 1
Поддерживаю. Проверять надо что вернуто от Process32First. Возможно список процессов он не получил.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.08.2012, 09:49   #9
xoodoo
Форумчанин
 
Регистрация: 11.04.2012
Сообщений: 212
По умолчанию

Цитата:
список процессов он не получил
Конечно не получил.

th32ProcessID

Process identifier. This parameter can be zero to indicate the current process. This parameter is used when the TH32CS_SNAPHEAPLIST or TH32CS_SNAPMODULE value is specified. Otherwise, it is ignored.
xoodoo вне форума Ответить с цитированием
Старый 12.08.2012, 14:28   #10
niluser
 
Регистрация: 03.08.2012
Сообщений: 4
По умолчанию

должно было получится так, только почему не работало до этого - не знаю
Вложения
Тип файла: zip proc.zip (3.9 Кб, 17 просмотров)
niluser вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить список процессов? SoLL Win Api 19 28.01.2012 09:52
Получить список доступных баз данных через select. hk47 БД в Delphi 5 13.04.2010 13:31
Пытаюсь получить список процессов... Flammpanzer Win Api 8 07.09.2009 21:00
Получить список пользователей работающих через удаленный рабочий стол AlexandrSid Общие вопросы Delphi 2 01.06.2009 18:55
как получить список запущенных процессов на компе One.Love Win Api 10 17.03.2009 01:36