Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.05.20;
Скачать: [xml.tar.bz2];

Вниз

Процессы   Найти похожие ветки 

 
alexec   (2002-03-19 06:13) [0]

Почему под W2K при получении списка процессов отображается имя файла но не путь? Как его отобразить?


var ListProc:TStrings;
T: tagPROCESSENTRY32;
H: THandle;
begin
ListProc := TStringList.Create;
H := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
T.dwSize := sizeof(T);
Process32First(H, T);
while Process32Next(H, T) do
ListProc.Append(T.szExeFile);
Listbox1.Items.AddStrings(ListProc);


 
VuDZ   (2002-03-19 06:33) [1]

GetModuleFileNameEx()


 
alexec   (2002-03-19 07:33) [2]

А где ее взять в каком модуле или dll-ке


 
alexec   (2002-03-19 07:42) [3]

Нашел через минуту,модуль psapi а как ею пользоваться?


 
VuDZ   (2002-03-19 07:58) [4]

HANDLE h = OpenProcess()
GetModuleFileNameEx(h, NULL, buf, buf_len)...

GetModuleFileNameEx
The GetModuleFileNameEx function retrieves the fully qualified path for the specified module.

DWORD GetModuleFileNameEx(
HANDLE hProcess, // handle to process
HMODULE hModule, // handle to module
LPTSTR lpFilename, // path buffer
DWORD nSize // maximum characters to retrieve
)
;
Parameters
hProcess
[in] Handle to the process that contains the module.
hModule
[in] Handle to the module.
lpFilename
[out] Pointer to the buffer that receives the fully qualified path to the module. If the file name is longer than maximum number of characters specified by the nSize parameter, the file name is truncated.
nSize
[in] Specifies the maximum number of characters to copy to the lpFilename buffer.


 
alexec   (2002-03-19 08:27) [5]

Гадом буду нихрена не работает!!


 
MBo   (2002-03-19 08:43) [6]

на delphi.vitpc.com найди главы из книги Пачеко-Тексейры, там есть


 
VuDZ   (2002-03-19 12:01) [7]

гадом не буду, но у меня работает:

#include <windows.h>
#include <psapi.h>
#pragma comment(lib, "psapi.lib")
int main(){
DWORD need = 1024;
DWORD *dwPIDs = new DWORD[1024];
EnumProcesses(dwPIDs, need, &need);

char * c = new char[MAX_PATH];
for (int i = 0; i < need; ++i){
HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, TRUE, dwPIDs[i]);
ZeroMemory(c, MAX_PATH);
if (hProc){
GetModuleFileNameEx(hProc, (HMODULE)NULL, c, MAX_PATH);
printf("%i - %s\n", dwPIDs[i], c);
}
}
return getch();
}

Если поставить себе привелегию DEBUG, то будет больше процессов

1248 - E:\WINDOWS\Explorer.EXE
1568 - E:\WINDOWS\System32\ctfmon.exe
1612 - E:\Program Files\The Bat!\thebat.exe
996 - E:\Program Files\Internet Explorer\iexplore.exe
660 - E:\Program Files\Forexite QuoteRoom\QuoteRoom.exe
1444 - E:\Program Files\FX Charts Lite\FXCharts.exe
1512 - E:\Program Files\Internet Explorer\iexplore.exe
1624 - F:\Microsoft Visual Studio\Common\MSDev98\Bin\MSDev.exe
2240 - F:\temp\tm\Debug\test.exe



Страницы: 1 вся ветка

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

Наверх




Память: 0.45 MB
Время: 0.007 c
3-64466
Demon Ltd
2002-04-25 09:47
2002.05.20
Вместо Table1 - Query1


4-64861
Vvedensk
2002-03-15 14:44
2002.05.20
Наверное очень глупый вапрос... Как окно поставить после развертования перед всеми ост окнами..


3-64472
RM
2002-04-21 21:59
2002.05.20
Ошибка


7-64849
Olfi
2002-01-26 12:33
2002.05.20
Как можно узнать параметры компьютера?


4-64863
Serd_hhc
2002-03-17 13:47
2002.05.20
Запись в реестр.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский