vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Probleme mit SendMessage und WM_CLOSE 
Autor: lyris
Datum: 29.04.10 16:30

Hallo in die Runde,

ich habe ein kleines Problem:
Ich habe einen Prozess der mehrere Fenster besitzt (Prozess = SAP Logon und die Fenster sind die verschiedenen offenen Modi).

Da es mich total annervt, wenn die ganzen Modi meine Taskleiste zukleistern, fange ich die Fenster des Prozesses ein, bastle nette Buttons dazu und verwalte diese in einer eigenen Taskleiste. In der Windows-Taskleiste setze ich die Visibility der Original-Buttons auf "invisible" und schwups, habe ich die ganzen Modi in meiner eigenen - und wieder Platz in der Windows-Taskbar.

Soweit - so gut. In den Tags des Buttons speichere ich den Handle des Windows und wenn jemand auf einen Button klickt, weiß ich, welches Fenster dazu gehört. Nun will ich direkt aus der Taskbar dieses Fenster schließen können ==> Ich fange den Rechtsklick auf den Button ab, hole mir aus dem auslösenden Button den Tag, Caste den sauber zu einem IntPtr zurück und mach denn ein:

SendMessage(HandleID, WM_CLOSE, IntPtr.Zero, IntPtr.Zero)
In 90% der Fälle funktioniert das einwandfrei, in 10% der Fälle werden alle offenen Fenster meines Prozesses geschlossen.

Anfangs hatte ich das Multi-Threading im Verdacht (also daß der Anwender vielleicht auf einen Button geklickt hat, den er schon geschlossen hatte aber das GUI war zu dem Zeitpunkt noch nicht neu gezeichnet) aber: Das ist es nicht. Im Debugger stelle ich fest, daß sowohl im Erfolgs- als auch im Fehlerfall nur einmal die Message geschickt wird und zwar an das korrekte Handle.

Hat jemand von Euch eine Idee, woran sowas liegen kann oder einen Alternativvorschlag, wie ich das Fenster sonst "schonender" zumache ?

Was mich irritiert: Ich habe gelesen, daß SendMessage und WM_CLOSE dem Klick auf den (X)-Button oben im Eck entspricht. SAP Fragt aber normal nach, ob man wirklich beenden und ggf. gespeicherte Daten verlieren will - Wenn ich die WM_CLOSE-Message schicke, dann ist das Fenster sofort weg - ohne Rückfragen.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Probleme mit SendMessage und WM_CLOSE2.482lyris29.04.10 16:30
Re: Probleme mit SendMessage und WM_CLOSE2.170lyris29.04.10 16:52
... doch noch Probleme ....2.075lyris30.04.10 12:15

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel