Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Процессы


Автор: Shekspir 22.6.2003, 00:35
Как можно в Visual Basic 6.0 получить список всех выполняемых в
данный момент процессов confused.gif
Может как-нибудь через Winapi...
Если Возможно, приведите пример кода...

Автор: vickr 22.6.2003, 01:50
Вообще (статья Александра Федотова):
-С помощью библиотеки Process Status Helper (PSAPI)
-С помощью ToolHelp32 API
-С помощью недокументированной функции ZwQuerySystemInformation
-Через счетчики производительности
-С использованием интерфейсов Windows Management Instrumentation

Статья на ходится по адресу:
http://www.rsdn.ru/qna/printv.asp?baseserv/enumproc.xml

А так, на вскидку (статью копать некогда), могу посоветовать - посмотри в MSDN ф-ю
Код

BOOL EnumProcesses(
 DWORD *lpidProcess,  // array of process identifiers
 DWORD cb,            // size of array
 DWORD *cbNeeded      // number of bytes returned
);

Затем копни в сторону
Код

HANDLE OpenProcess(
 DWORD dwDesiredAccess,  // access flag
 BOOL bInheritHandle,    // handle inheritance option
 DWORD dwProcessId       // process identifier
);

Получишь хэндл процесса - и дальше твори с ним что хош (в пределах разумного). biggrin.gif
Все API-функции, разумеется, надо правильно объявить в VB (Public Declare Function и т.д.)
Успешных раскопок adv/24.gif

Автор: vickr 22.6.2003, 03:37
Бродил по местным FAQ-ам и наткнулся на хороший пример, опять-таки на C.
http://forum.vingrad.ru/index.php?act=ST&f=31&t=4329
Главное для тебя там - посмотришь, какие используются ф-и API. На VB тоже есть примерчик, насколько я помню, но его уж больно долго искать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)