Zum Inhalt springen

lyris

Mitglieder
  • Gesamte Inhalte

    3
  • Benutzer seit

  • Letzter Besuch

  1. Hallo ich habs wiefolgt probiert: Declare Function GetWindowThreadProcessId Lib "user32.dll" (ByVal windowsHandle As IntPtr, ByVal windowsProcessId As IntPtr) As IntPtr Dann: Dim handle as IntPtr = FindWindow(Nothing, "Fenstertext") nun nur noch: Dim procId as IntPtr procId = IntPtr.Zero und : procId = GetWindowThreadProcessId(handle, IntPtr.Zero) Es steht bei mir also nicht im 2. Wert sondern tatsache im Rückgabewert die korrete Id drin.
  2. naja ... darauf bin ich schon selbst gekommen aber das hilft mir nicht wirklich weiter, sondern ich brauche noch länger um in dem Stapel nach der passenden Anwendung zu suchen. Und wenn noch ein paar andere Programme laufen, dann schiebt Windows diese Fenster so schmal zusammen, daß ich den Text nicht mehr lesen kann und wieder nicht finde, was ich suche. Sonst hätte ich mich glaube ich nicht an die Eigenkreation einer Taskbar herangemacht.
  3. Hallo allerseits, ich habe folgendes Problem. Ich muss immer wieder mit zig Instanzen einer Anwendung arbeiten, die nicht ersetzt werden kann und mir die Taskbar zumüllt so daß ich ewig nach dem richtigen Fenster suchen muss. Also habe ich mir quasi eine eigene Taskbar gebaut, die diese Instanzen aufnimmt und aus der heraus ich die Fenster steuern kann (in den Vordergrund, Maximieren, Minimieren) usw. - Nun fehlt natürlich das Sahnehäubchen. Diese Taskbar-Buttons müssen aus der Windows Taskbar raus - und daran scheitere ich. Ich kann zwar den Start-Button der Windows Taskbar ein- und Ausblenden und den Rest ebenfalls aber ich komme nicht an die Programmfenster. Hier mal ein Link, zu einem Tool, daß das kann. CodeProject: A tool to order the window buttons in your taskbar. Free source code and programming help Dummerweise scheitere ich daran, die seltsamen fixed -Blöcke in VB.Net nachzubauen. Hier die wichtigen Abschnitte aus der Source: _ToolbarWindowHandle = GetToolbarWindowHandle(); if ( _ToolbarWindowHandle == IntPtr.Zero ) return; _Glomming = ( Glob.Glomming.Int != 0 ); UInt32 count = User32.SendMessage( _ToolbarWindowHandle, TB.BUTTONCOUNT, 0, 0 ); soweit bekomme ich das in vb auch hin. Handle habe ich, und auch die anzahl der in der Taskleiste befindlichen 'Buttons' bekomme ich korrekt zurück. Nun der Haken: fixed ( TBBUTTON* pTBButton = & tbButton ) { IntPtr ipTBButton = new IntPtr( pTBButton ); int b = ( int ) User32.SendMessage( hToolbar, TB.GETBUTTON, ( IntPtr ) i, ipRemoteBuffer ); if ( b == 0 ) { Debug.Assert( false ); return false; } // this is fixed Int32 dwBytesRead = 0; IntPtr ipBytesRead = new IntPtr( & dwBytesRead ); bool b2 = Kernel32.ReadProcessMemory( hProcess, ipRemoteBuffer, ipTBButton, new UIntPtr( ( uint ) sizeof( TBBUTTON ) ), ipBytesRead ); if ( ! b2 ) { Debug.Assert( false ); return false; } } // button text fixed ( byte* pLocalBuffer = localBuffer ) { IntPtr ipLocalBuffer = new IntPtr( pLocalBuffer ); int chars = ( int ) User32.SendMessage( hToolbar, TB.GETBUTTONTEXTW, ( IntPtr ) tbButton.idCommand, ipRemoteBuffer ); if ( chars == -1 ) { Debug.Assert( false ); return false; } // this is fixed Int32 dwBytesRead = 0; IntPtr ipBytesRead = new IntPtr( & dwBytesRead ); bool b4 = Kernel32.ReadProcessMemory( hProcess, ipRemoteBuffer, ipLocalBuffer, new UIntPtr( BUFFER_SIZE ), ipBytesRead ); if ( ! b4 ) { Debug.Assert( false ); return false; } text = Marshal.PtrToStringUni( ipLocalBuffer, chars ); if ( text == " " ) text = String.Empty; } Wie baue ich sowas in vb.net? In jedem dieser fixed-Blöcke werden die selben Variablen neu definiert und das ganze innerhalb einer Function. Egal wie ich es anstelle ich bekomme vollkommen unsinnige Werte/Texte zurück und es gibt, basierend auf dem Code, zwar zig Lösungen in C# und C++ aber keinen einzigen der das in VB geschafft hat. Über Tipps wäre ich dankbar.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...