Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Получение объема выделенной памяти для приложения.

Ответить
Настройки темы
[решено] Получение объема выделенной памяти для приложения.

Пользователь


Сообщения: 143
Благодарности: 24

Профиль | Отправить PM | Цитировать


Как получить объем оперативной памяти, который взяло себе приложение. Т.е. то число которое мы видим в диспетчере устройств.

Отправлено: 22:02, 12-10-2009

 

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Код: Выделить весь код
MsgBox(0, "", _ProcessGetMemory("AutoIt3.exe") & " kb")

Func _ProcessGetMemory($nPID)
    Local Const $PROCESS_QUERY_INFORMATION = 0x400
    Local Const $PROCESS_VM_READ = 0x10

    ;get process ID
    If IsString($nPID) Then $nPID = ProcessExists($nPID)
    If $nPID = 0 Then Return -1

    ;get process handle, required for GetProcessMemoryInfo
    $aRet = DllCall("Kernel32.dll", "int", "OpenProcess", "dword", _
        $PROCESS_QUERY_INFORMATION+$PROCESS_VM_READ, "dword", False, "dword", $nPID)
    If @error Or ($aRet[0] = 0) Then Return -1

    $hProc = $aRet[0]

    ;create PPROCESS_MEMORY_COUNTERS to receive data, required for GetProcessMemoryInfo
    $structPROCESS_MEMORY_COUNTERS = DllStructCreate("dword;dword;uint peakmemsize;uint memsize;uint;uint;uint;uint;uint;uint")
    $nSize = DllStructGetSize($structPROCESS_MEMORY_COUNTERS)

    ;call GetProcessMemoryInfo
    $aRet = DllCall("Psapi.dll", "int", "GetProcessMemoryInfo", _
        "hwnd", $hProc, "ptr", DllStructGetPtr($structPROCESS_MEMORY_COUNTERS), "dword", $nSize)

    ;close process handle
    DllCall("Kernel32.dll", "int", "CloseHandle", "hwnd", $hProc)

    ;return memory size in kb
    Return DllStructGetData($structPROCESS_MEMORY_COUNTERS, "memsize") / 1024
EndFunc

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:46, 12-10-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Получение объема выделенной памяти для приложения.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Скрипт применения твиков в зависимости от объема памяти. Как? Pozia AutoIt 12 08-08-2010 16:45
.NET - [решено] Получение массива ячеек для объединения Delirium Программирование и базы данных 10 29-07-2009 06:49
[решено] Неверное определение объема памяти в ASUS EAH3870 ab57 Видеокарты 11 28-11-2008 11:30
Проблема в отображении объема памяти Tsume Microsoft Windows 2000/XP 9 26-12-2007 20:27
выделение памяти (1,8Gb) в win 2000 для приложения запускаемого в cmd impt Microsoft Windows NT/2000/2003 0 31-05-2006 09:03




 
Переход