Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
Tarantul
-
- Бывалый

-
-
- Сообщения: 235
- Зарегистрирован: 13.12.2004 (Пн) 16:39
- Откуда: IUnknown
Tarantul » 08.04.2005 (Пт) 19:26
Можно ли как-то узнать, сколько оперативной памяти занимает работающая VB-программа, если не сумировать размеры всех переменных в ней

-
xolod
-
- Гуру

-
-
- Сообщения: 1162
- Зарегистрирован: 15.01.2004 (Чт) 0:42
- Откуда: Moscow
-
xolod » 08.04.2005 (Пт) 20:56
Менедер задач открой и посмотри. Суммированием всех переменных, как ты говоришь, ты результата не добъешься.
-
|kerish|
-
- Постоялец

-
-
- Сообщения: 831
- Зарегистрирован: 22.10.2004 (Пт) 0:31
|kerish| » 08.04.2005 (Пт) 21:32
А из проги можно?
Если да, то есть интересные идеи...
-
Tarantul
-
- Бывалый

-
-
- Сообщения: 235
- Зарегистрирован: 13.12.2004 (Пн) 16:39
- Откуда: IUnknown
Tarantul » 09.04.2005 (Сб) 15:25
Да, мне тоже интересно как это сделать програмно

-
Igor_123
-
- Осторожный Баянист

-

-
- Сообщения: 1325
- Зарегистрирован: 21.07.2004 (Ср) 13:00
- Откуда: Днепропетровск
-
Igor_123 » 09.04.2005 (Сб) 21:23
В винде по моему до 4Гб
Столько выделяеться каждому процессу
-
xolod
-
- Гуру

-
-
- Сообщения: 1162
- Зарегистрирован: 15.01.2004 (Чт) 0:42
- Откуда: Moscow
-
xolod » 10.04.2005 (Вс) 2:35
2 Tarantul
Программно это делается с помощью API GetProcessMemoryInfo в сочитание с OpenProcess
-
GM
-
- programador

-
-
- Сообщения: 1427
- Зарегистрирован: 24.06.2003 (Вт) 15:56
- Откуда: 194.67.52.100
-
GM » 10.04.2005 (Вс) 6:48
Чтобы узнать сколько процесс весит в памяти:
- Код: Выделить всё
Declare Function GetProcessWorkingSetSize Lib "kernel32.dll" ( _
ByVal hProcess As Long, _
ByRef lpMinimumWorkingSetSize As Long, _
ByRef lpMaximumWorkingSetSize As Long) As Long
الفيجوال بيسك الرابح
-
Tarantul
-
- Бывалый

-
-
- Сообщения: 235
- Зарегистрирован: 13.12.2004 (Пн) 16:39
- Откуда: IUnknown
Tarantul » 10.04.2005 (Вс) 11:26
Понятно
-
Vovik
-
- Постоялец

-

-
- Сообщения: 643
- Зарегистрирован: 02.08.2003 (Сб) 15:14
- Откуда: Belarus, Minsk
-
Vovik » 11.04.2005 (Пн) 13:51
GM писал(а):Чтобы узнать сколько процесс весит в памяти:
- Код: Выделить всё
Declare Function GetProcessWorkingSetSize Lib "kernel32.dll" ( _
ByVal hProcess As Long, _
ByRef lpMinimumWorkingSetSize As Long, _
ByRef lpMaximumWorkingSetSize As Long) As Long
чет нули выдает.... че туда передавать то надо, а то в Api-guide вообще ф-ции нет....

-
xolod
-
- Гуру

-
-
- Сообщения: 1162
- Зарегистрирован: 15.01.2004 (Чт) 0:42
- Откуда: Moscow
-
xolod » 11.04.2005 (Пн) 14:11
Ууу..
Я не знаю, откуда у GM подобная информация, но функция GetProcessWorkingSetSize делает, мягко говоря, совсем другое.
Сказал же, используй GetProcessMemoryInfo
-
GM
-
- programador

-
-
- Сообщения: 1427
- Зарегистрирован: 24.06.2003 (Вт) 15:56
- Откуда: 194.67.52.100
-
GM » 12.04.2005 (Вт) 7:38
Сорри, вспомнил о WorkingSetSize

, так и скинул.xolod прав. Вообщем вот:
- Код: Выделить всё
Type PROCESS_MEMORY_COUNTERS
cb As Long
PageFaultCount As Long
PeakWorkingSetSize As Long
WorkingSetSize As Long
QuotaPeakPagedPoolUsage As Long
QuotaPagedPoolUsage As Long
QuotaPeakNonPagedPoolUsage As Long
QuotaNonPagedPoolUsage As Long
PagefileUsage As Long
PeakPagefileUsage As Long
End Type
Private Declare Function GetProcessMemoryInfo Lib "PSAPI.DLL" (ByVal hprocess As Long, ppsmemCounters As PROCESS_MEMORY_COUNTERS, ByVal cb As Long) As Long
Function iGetProcessMem(pid As Long) As PROCESS_MEMORY_COUNTERS
Dim hprocess As Long
Dim lRet As Long
Dim pmc As PROCESS_MEMORY_COUNTERS
hprocess = OpenProcess(PROCESS_QUERY_INFORMATION _
Or PROCESS_VM_READ, 0&, pid)
pmc.cb = LenB(pmc)
lRet = GetProcessMemoryInfo(hprocess, pmc, pmc.cb)
CloseHandle (hprocess)
iGetProcessMem = pmc
End Function
Вырезка из gSysManager. Искать нужно WorkingSetSize

الفيجوال بيسك الرابح
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, Google-бот, SemrushBot, Yandex-бот и гости: 13