Hallo gibt es in .Net die Möglichkeit die Anzahl der erstellten Benutzer-Objekte der eigenen Anwendung auszulesen, ohne dabei Administrator-Rechte anzufordern?
class Foo {
private static int s_Count;
public static int Instances { get { return s_Count } }
public Foo() {
Interlocked.Increment(s_Count);
}
~Foo() {
Interlocked.Decrement(s_Count);
}
}
Zusätzlich Dispose zu implementieren wäre auch nicht schlecht.
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...
Ich weiss zwar nicht was du mir damit sagen möchtest, aber was ist denn Interlocked.Increment? hat das einen bestimmten Vorteil?
Meine Frage bezieht sich auf die im Task Manager befindliche Größe "BENUTZER-Objekte" die ich herauslesen möchte...
Ich kann ja nicht jede Klasse auch nicht die aus .Net mit einem Increment/Decrement versehen, da es sowas anscheinend schon im System gibt...
Hallo Andreas@Tricept,
aber was ist denn Interlocked.Increment?
bitte unbekannte Methoden immer selbst in der :rtfm: Doku nachschlagen.
Meine Frage bezieht sich auf die im Task Manager befindliche Größe "BENUTZER-Objekte" die ich herauslesen möchte...
Das Thema wurde schon einige Male besprochen. Bitte benutze die Forumssuche und poste die besten Treffer hier. Vielen Dank!
herbivore
Hab in einem anderem Forum diesen Ausschnitt gefunden:
private void button1_Click(object sender, EventArgs e)
{
Console.WriteLine(GetGuiResources(GetCurrentProcess(), GR_USEROBJECTS));
}
[System.Runtime.InteropServices.DllImportAttribute("user32.dll", SetLastError=true)]
private static extern uint GetGuiResources(System.IntPtr hProcess, uint uiFlags);
[System.Runtime.InteropServices.DllImportAttribute("kernel32.dll", EntryPoint = "GetCurrentProcess")]
private static extern System.IntPtr GetCurrentProcess();
private const int GR_GDIOBJECTS = 0;
private const int GR_USEROBJECTS = 1;
Der hat geholfen!