VB.Net 3.5 Windows - Как получить процесс подсчета объектов пользователя - PullRequest
0 голосов
/ 12 июля 2010

Может ли кто-нибудь посоветовать мне, как я могу получить текущий счетчик "объектов USER" (как показано в диспетчере задач) для текущего процесса.

Я вижу, как получить количество дескрипторов, используя:

Process.GetCurrentProcess.HandleCount

Но наше приложение может достичь числа объектов USER 10000, просто открыв 17 экземпляров определенной формы, поэтому мы хотели бы попытаться предупредить пользователя о том, что ресурсы заканчиваются, прежде чем они достигнут предела и бомбы приложения. *

1 Ответ

3 голосов
/ 12 июля 2010

Если я думаю о правильных видах пользовательских объектов, вы можете сделать это с помощью API-функции GetGuiResources .См. Страницу pinvoke для этого здесь для образца C # (второй, который отправляет 1 как флаг).

Вот перевод кода VB:

Imports System.Runtime.InteropServices

<DllImport("User32")> _
Public Shared Function GetGuiResources(ByVal hProcess As IntPtr, ByVal uiFlags As Integer) As Integer
End Function

Public Shared Function GetGuiResourcesUserCount() As Integer
    Return GetGuiResources(Process.GetCurrentProcess().Handle, 1)
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...