Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как мониторить процесы в системе, аля Task manager 
V
    Опции темы
eniac
Дата 29.6.2009, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 2.6.2009

Репутация: нет
Всего: нет



И так... мне нужно написать программу которая должна мониторить все процессы в системе... 
и я не знаю как мне подойти к задаче. Подскажите с чего начать, что надо почитать и т. д. 
PM MAIL   Вверх
Lazin
Дата 29.6.2009, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 8
Всего: 154



CreateToolhelp32Snapshot и прочие ф-ии библиотеки Toolhelp
PM MAIL Skype GTalk   Вверх
andrew_121
Дата 29.6.2009, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 2
Всего: 33



Код

/***************************************************************************/

class LProcessInfo {
public:
    LProcessInfo() {
      memset( &pi, 0, sizeof(PROCESSENTRY32) );
   }
    LProcessInfo( PROCESSENTRY32 p ) {
      memset( &pi, 0, sizeof(PROCESSENTRY32) );
      init(p);
   }
  ~LProcessInfo() { }
    /**/
    void init( PROCESSENTRY32 p ) { memcpy( &pi, &p, sizeof(PROCESSENTRY32) ); }
   /**/
   luint32 id()          const { return pi.th32ProcessID;       }
   luint32 size()        const { return pi.dwSize;              }
   luint32 usage()       const { return pi.cntUsage;            }
   luint32 module_id()   const { return pi.th32ModuleID;        }
   luint32 threads()     const { return pi.cntThreads;          }
   luint32 parent_id()   const { return pi.th32ParentProcessID; }
   lint32  parent_pri()  const { return pi.pcPriClassBase;      }
   luint32 flags()       const { return pi.dwFlags;             }
   const lchar*name()    const { return &pi.szExeFile[0];       }
   /**/
   bool operator< ( const LProcessInfo& pi ) {
      return l_strcmpi( name(), pi.name() ) < 0;
   }
private:
   PROCESSENTRY32 pi;
};

/***************************************************************************/

class LProcessInfoList: public LVector<LProcessInfo> {
public:
   LProcessInfoList() { refresh(); }
  ~LProcessInfoList() {}
   /**/
   void refresh() {
        HANDLE pl;
        PROCESSENTRY32 pe;
        /**/
        pl = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
        pe.dwSize = sizeof(PROCESSENTRY32);
        pe.th32ParentProcessID = 0;
        /**/
        if ( Process32First(pl, &pe) ) {
            do {
                push_back( LProcessInfo(pe) );
                pe.th32ParentProcessID = 0;
            } while ( Process32Next(pl, &pe) );
        }
        CloseHandle(pl);
    }
};

/***************************************************************************/


Типы поправь.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
DrHex
Дата 30.6.2009, 01:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 2.5.2009

Репутация: нет
Всего: нет



Все что говорил Lazin + Timer.

Ну или NtQuerySystemInfo... Чето в таком духе..........
--------------------
google.com и это все.
PM MAIL   Вверх
eniac
Дата 30.6.2009, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 2.6.2009

Репутация: нет
Всего: нет



Спасибо за инфу....
PM MAIL   Вверх
alias_trinity
Дата 1.7.2009, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 10.5.2007

Репутация: 1
Всего: 1



рекомендую заглянуть сюди
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.1203 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.