Страница: 1 |
Вопрос: GlobalMemoryStatusEX | Добавлено: 19.04.11 20:32 |
Автор вопроса: ![]() |
Возникла трудность при считывании текущей информации о физической памяти системы. При ОЗУ до 2Гб работает GlobalMemoryStatus, если более 2Гб то предполагается использование GlobalMemoryStatusEX. Код написан следующий:
Public Declare Function MEMSTAT Lib "kernel32.dll" _ Alias "GlobalMemoryStatus" (ByVal lpBuffer As MEMORYSTATUS) As Boolean Public Structure MEMORYSTATUS Public dwLength As UInt32 Public dwMemoryLoad As UInt32 Public dwTotalPhys As UInt32 Public dwAvailPhys As UInt32 Public dwTotalPageFile As UInt32 Public dwAvailPageFile As UInt32 Public dwTotalVirtual As UInt32 Public dwAvailVirtual As UInt32 End Structure Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim MemoryInfo As MEMORYSTATUS Call MEMSTAT(MemoryInfo) End Sub При замене GlobalMemoryStatus на GlobalMemoryStatusEX данный код не работает, выдает: Не удается найти точку входа "GlobalMemoryStatusex" в DLL "kernel32.dll". (покапался в kernel32.dll данная точка входа имеется) думается что я неправильно вызываю внутреннюю команду. Прошу прощения за большой объем сообщения. |
Ответы | Всего ответов: 2 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 87 Ответов: 2795 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 19.04.11 22:01 |
во-первых, перед вызовом нужно заполнить поле dwLength
во-вторых, большинство полей MEMORYSTATUSEX - 64битные http://msdn.microsoft.com/en-us/library/aa366770(v=vs.85).aspx для vb6:
в-третьих, не знаю как в дотнете, но на шестёре ссылка на UDT передаётся ByRef, а тут ByVal |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 58 Ответов: 4255 ![]() |
Профиль | Цитата | #2 | Добавлено: 20.04.11 23:29 |
C#,FW 4.0
Mem loaded: 23%. Total phys mem: 3487621120. Available phys mem: 1631080448. Total page file: 6973435904. Available page file: 4538019840. Total virtual mem: 2147352576. Available virtual mem: 1969078272. Available extended virtual mem: 0. |
Страница: 1 |
|