Thread erstellen?
-
hi, ich hab in meinem programm einen WH_CBT-hook installiert um eine MessageBox zu modifizieren (hab ne Checkbox integriert). Den Ursprungscode dazu hab ich aus diesem Turtorial auf catch22 -> http://www.catch22.net/tuts/msgbox.asp
Nun stellt sich mir das Problem dass zwar alles wie gewünscht funktioniert, solange ich in meinem Program während die MessageBox aktiv ist nicht eine andere Funktion aufrufe, die auch eine Messagebox aktiviert, diese enthält dann nämlich auch ne checkbox(obwohl sie stinknormal aufgerufen wird) und mein progie kriegt die krise.....
Meine Frage ist nu ob es Sinn macht vor der Hookfunktion einen Thread zu erstellen, und ihr dann die ID dieses Threades zu übergeben, dann zu warten (mit WaitForSingleObject?) bis die MessageBox wieder geschlossen ist und den Thread wieder zu beenden? Wenn ja, wie geh ich da am besten vor? Wenn nein, andere Lösungsvorschläge?Danke!
-
Urban schrieb:
Nun stellt sich mir das Problem dass zwar alles wie gewünscht funktioniert, solange ich in meinem Program während die MessageBox aktiv ist nicht eine andere Funktion aufrufe, die auch eine Messagebox aktiviert, diese enthält dann nämlich auch ne checkbox(obwohl sie stinknormal aufgerufen wird) und mein progie kriegt die krise.....
Enthält die Funktion oder die MessageBox ne CheckBox? Und warum kriegt dein Programm die Kriese? Was genau passiert dann?
mfg.
-
joomoo schrieb:
Enthält die Funktion oder die MessageBox ne CheckBox? Und warum kriegt dein Programm die Kriese? Was genau passiert dann?
mfg.
die zweite Messagebox ist eine Standard MessageBox()-Funktion und sollte daher keine Checkbox enthalten. Da der Hook aber noch aktiv ist bekommt sie eine und wenn ich sie schließe (z.b. mit ok) dann bekommt die erste Messagebox mit dem Hook noch eine zweite Checkbox direkt unter der ersten, mit dem gleichen Text. Insgesamt ein sehr unschönes Verhalten. Grundsätzlich ist es sehr unwahrscheinlich dass jemand in dem Progie sowas macht, da man die weiteren Messagebox-Abfragen nur über das Tray-Icon Menü auslösen kann, aber ich häts dann schon gern sauber geprogged.