Die Community zu .NET und Classic VB.
Menü

Mouse ’n’ Enum

 von 

Beschreibung und Download  


Abbildung 1: Bildschirmfoto von Mouse ’n’ Enum

Beschreibung

Mit Mouse ’n’ Enum gehören ‚Geheimnisse’ von Fenstern der Vergangenheit an.

Das Hauptfenster zeigt folgende Infos über das Fenster an, über die sich die Mouse gerade befindet: Handle, ModulEXEname, Thread, TaskID, Classname, Text, Position, Größe, ParentHwnd, ParentClass, ParentText, TopParentHwnd, isAppwindow, isToolwindow, isMDI, isParent, isChild, isCaption, IsMinm.Button, isMaxm.Button, isCloseButton, WindowState, isEnabled, isTopmost und selbstverstänlöich die Mousekoordinaten.

Alle Eigenschaften können ausgeblendet werde, sodas nur die Informationen angezeigt werden, die im Moment relevant sind. Wenn gewünscht, kann man sich einen Positionierungsrahmen einblenden, der die Fenster umrandet, über die sich die Mouse befindet.

Befindet sich die Mouse über dem gewünschten Fenster, drückt man F12 und erhält folgende Möglichkeiten:

Control enumerieren

Dabei wird versucht, das Control durch 3 Methoden zu enumerieren (Teilweise mit Codeausgabe, den man in sein eigenes Projekt importieren kann)

Alle Childs enumerieren

Die Childs werden in einem Treeview dargestellt, der folgende Infos beinhaltet: hWnd, Classname, TaskID, Visible, Text. Weiterhin kann man die dargestellten Childs durchsuchen um so ein gewünschtes Child zu finden. Selbstvrständlich kann bei jedem Eintrag mit der Mouse geklickt werden und man erhält wiederrum das vorherige Menu von F12 und kann so die Childs wiederrum bearbeiten.

Parent enumerieren

Durch GetParent wird das Parent gesucht und mit Informationen angezeigt.

MenukurzInfo

Ein Toolwindow erscheint, das kurze Infos über das Menu des Controls anzeigt.

Menu enumerieren

Das Menu des Cntrols wird enumeriert und in einem Treeview dargestellt und auf einer Form gespiegelt. Im Treeview selber bekommt an folgende Infos: MenuText, MenuID, MenuHwnd. Folgende Manupulationen können genutzt werden: Edit, Enabled, Checked, Grayed, Click, Delete.

Systemmenuenumerierung

Funktioniert so wie die Menuenumerierung, nur mit dem Systemmenü.

Alle Menus von allen Childs

Enumeriert sämtliche Menüs von sämtlichen Child-Fenstern.

Weitere Features

Mit ‚Send Text By String’ und ‚Send Text By Char’ werden eingegebene Texte an ein Control gesendet und Enter gedrückt (ist nützlich wenn ein Control Disabled ist), SetText (Ein eingegebener Text wird an das Control gesendet, SetText from Clipboard & Copy Text to Clipboard (erklärt sich von selber), das WindowUntermeu beinhaltet Hide/Show, Bringtoop, StayOnTop/RemovefromTo, sowie Maximize, Mnimize & Normal.

Mit dem Menueintrag ‚Change Position’ kann ein Control beliebig in seiner Größe verändert erden. Unter ‚Change WindowStyle’ können sämtliche SW_STYLES verändert werden (ein Restore-Button macht geänderte Styles wieder rückgängig. Unter dem ‚Clickuntermenu’ befindet sich ‚Click Control’, Click MousePos, DoubleClick MousePos, RightClick MousePos (Es wird die Koordinate genommen, die die Mouse bei dem Druck auf F12 hatte. Weierhin gibt es ‚Set Parent’ und Send WM_Close. Unter ‚Jump to’ kann man zu dem ‚Parentwindow’ oder zu dem TopParentWindow „jumpen“, das wenn gwünscht sichtbar gemact wird und zur besseren visualisierung geflasht wird. Mit ‚SnapShot’laßen sich gewünschte Control fotorafieren und abspeichern. Unter ‚Read List- or ComboBox’ werden die genannten Boxen ausgelesen und laßen sich manipulieren. Mit ‚Terminate Thread laßen sich Proßesse eliminieren. Mit ‚Capture Control’ wird ein Control auf Veränderung überwacht.

Im ‚SearchMenu’ kann der KOMPLETTE Windows nach Controls durchsucht werden….Entweder mit der Text-Eigenschaft oder es ird nach einem ClassName gesucht.

Alle Proßesse können gelistet werden und als Snapshot gespeichert oder geladen werden (Inaktive Prozeße werden nachgeladen)

Selbstverstänlich laßen sich ALLE Menus im Windows auf einmal enumerieren.

Ein Colorpicker zeigt die Farbe des Pixels an. Über dem sich die Maus befindet und gibt den Hex- Dezimal- und HTML-Wert aus.

Update 3.68

Wie immer einige Bugfixes und neue Funktionen. Genauere Infos entnehmen Sie bitte der mitgelieferten History.txt.

Mouse ’n’ Enum 3.68 (mne.zip, ca. 83 KB) 

Archivierte Nutzerkommentare 

Klicken Sie diesen Text an, wenn Sie die 1 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.

Kommentar von Ulrich Korndoerfer am 11.08.2010 um 00:23

Die Version 3.68 hat ein paar Bugs, die wohl darauf zurückgehen, daß an einigen Stellen im Code bei der Umrechnung zwischen Pixel und Twips ein hardkodierter Wert statt Screen.TwipsPerPixelX/Y verwendet wird.

Das führt bei einer anderen Auflösung als der defaultmäßigen natürlich zu Fehlern. So zB bei mir mit einer Displayauflösung von 125%.

Folgen:

- der Kennzeichnungsrahmen um ein Fenster wird zu klein gezeichnet. Der Fehler ist in Form1.frm in der Routine DrawPosBorder zu finden (hier wird an zwei Stellen der feste Wert 15 statt Screen.TwipsPerPixelX/Y verwendet).

- die Maustooltips werden zu niedrig angezeigt (ein Teil des unteren Textes ist abgeschnitten)

- möglicherweise noch an anderen Stellen?!

MfG

Ulrich Korndörfer
boss@prosource.de