Wie bestimme ich die Anzahl der Windows-handles eine Anwendung?
Was ist der beste Weg, um zu bestimmen, wie viele Fenstergriffe Sie eine Anwendung verwenden? Gibt es ein tool oder eine WMI performance counter, die ich verwenden könnte?
Ich würde gerne eine app und sehen Sie einen Zähler, der einige Sortieren und sehen, dass die Anzahl der Windows-handles steigt.
for (int i=0; i < 1000; i++)
{
System.Threading.Thread.Sleep(1000);
RichTextBox rt = new RichTextBox();
rt.Text = "hi";
this.Controls.Add(rt);
}
Ich bin mit den obigen code, und gerade die "Handle Count" - Zähler auf den Prozess, und es scheint nicht zu steigen. Gibt es etwas, was ich bin auf der Suche falsch?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Perfmon, die Sie mit Ihrem computer tun können. Sie können auch eine Spalte hinzufügen, um Ihre task-manager Registerkarte Prozesse (Handle, Count).
Anweisungen für die Perfmon -
Um die Grafik im Bereich, müssen Sie mit der rechten Maustaste in die Liste, wählen Sie "Eigenschaften", und wählen Sie dann die rechts-Skala (.1 oder .01 wäre wahrscheinlich rechts)
Bearbeiten (Reaktion auf zusätzliche Informationen): I denken, dass Sie nur bewiesen, dass die Schaffung RichTextBoxes nicht Ergebnis in den Griffen zugeordnet werden. Ich glaube nicht, dass es wirklich braucht, bis Sie die Bearbeitung der Kontroll-und es wäre clever genug, das zu tun, da die Zuteilung zu viele Ressourcen für ein Steuerelement, das nicht aktiv ist, wäre es schwer, eine Menge von Steuerelementen in einem Formular (denken Sie über Excel, zum Beispiel).
Process Monitor ist sehr praktisch, interaktiv überwachung aller Arten von Ressourcen verwendet, die von Windows-Prozessen.
Hinweis - wenn Sie bedeuten, dass man die Informationen über ein Programm, .Net bietet Zugriff auf alle Leistungsindikatoren. Verwenden Sie die System.Diagnostik.PerformanceCounter Klasse wie folgt aus:
Den handle count-angezeigt durch den taskmanager, ist der gleiche wie der von PerfMon
Tool ProcessExplorer von sysinternals können Sie eine Liste der verschiedenen Art der Griffe + Ihren Namen ein Prozess verwendet, und Sie können eine gute Vorstellung von surfen, die Liste über die Zusammensetzung des handles Ihr Programm verwendet.
Aber ich habe Angst, dass es nicht sumarize diese Griff Typ zählt für Sie.
Zum anzeigen der tatsächlichen Griffe und deren Typen mittels ProcessExplorer - View - show lower pane view - handles.
Können Sie auch eine Art Fenster spy-tool, das zeigt alle Fenster im system wie Microsoft spy++ oder Managed Spy++ (http://msdn.microsoft.com/en-us/magazine/cc163617.aspx)
Wird diese ermöglichen es Ihnen, um zu sehen, wenn Ihre windows erstellt werden.
Perfmon oder den Task-Manager kann nicht geben Sie die Anzahl der Windows-handles durch einen Prozess verwendet nur die Gesamt-Anzahl der Griffe aller Art (Datei, Gewinde, etc.).
Die besten Informationen, die ich finden kann zu dem Thema diese post, die angibt, dass der Fenster-Anzahl der handles für einen Prozess kann bestimmt werden durch Aufzählung aller untergeordneten Fenster des Haupt-Prozess-Fenster.