MSAccess - Общая и доступная статистика памяти? - PullRequest
0 голосов
/ 05 ноября 2018

В настоящее время я использую следующее, чтобы сообщить об общем объеме памяти различных клиентов, использующих мое приложение MSAccess. Я вижу широкий круг пользователей: от 2 до 32 ГБ.

В дополнение к общему объему памяти, я полагаю, также возможно сообщить о доступной памяти. Любые указатели / ссылки API, пожалуйста?

Public Function SysMemory()
    Dim oInstance
    Dim colInstances
    Dim dRam As Double
    Set colInstances = GetObject("winmgmts:").ExecQuery("SELECT * FROM Win32_PhysicalMemory")
    For Each oInstance In colInstances
        dRam = dRam + oInstance.Capacity
    Next
    SysMemory = Int(dRam / 1024 / 1024 / 1000) & "GB"
End Function

1 Ответ

0 голосов
/ 05 ноября 2018

Посмотрите на этот код, очень похожий на ваш:

Sub ShowFreeMemory()
    Dim computerName As String
    computerName = "."

    Dim wmiService As Object
    Set wmiService = GetObject("winmgmts:\\" & computerName & "\root\cimv2")

    Dim items As Object
    Set items = wmiService.ExecQuery("Select * from Win32_PerfFormattedData_PerfOS_Memory", , 48)

    Dim item As Object
    For Each item In items
        Debug.Print "Available GB: " & Round(item.AvailableBytes / 1024 / 1024 / 1024, 3)
    Next
End Sub

Я нашел это здесь https://social.technet.microsoft.com/Forums/office/en-US/517ae39d-b300-4bdd-8503-9f8699cb4e9d и переработал его немного для VBA.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...