Hi, habe folgende Situation: Ich blende mit ShowWindow(SW_SHOW); bzw. ShowWindow(SW_HIDE); das Fenster einer Dialoganwendung aus und ein.
Problem: Ich möchte, daß wenn das Fenster eingeblendet wird der Benutzer keine Eingabe machen kann (nicht per Maus und nicht per Tastatur)
Ich habe schon versucht die Eigenschaft des Fensters auf Systemmodal zu stellen mit dem "Erfolg" daß zwar beim Einblenden der Focus des aktullen Fensters verlorengeht, dieser jedoch mit einem "Mausklick" wieder geholt werden kann.
Wie kann ich gewährleisten daß keine Eingaben erfolgen ?
Fragt sich nur wie ich ein Fensterhandle für ein Window von einer Applikation bekomme, die ich nicht kenne und auch nicht weiß wann diese gestartet bzw. den Focus hat.
Vielleicht hab ich mich auch nur falsch ausgedrückt: Der Dialog, der mit ShowWindow(SW_SHOW) ab und zu eingeblendet wird der soll nicht deaktiviert werden, (das ist er eh schon) sondern vielmehr die Anwendung, die der Benutzer gerade offen hat ...
Ein Tastatur-Hook-Beispiel kannst du oben unter Downloads runterladen.
Ein Hook macht folgendes:
Er bekommt (z.b die Tastaturereignisse) vom System VOR allen anderen Anwendungen (wenn natürlich 2 Tastaturhooks an sind, weiß ich nicht welcher zuerst die nachrichten bekommt). Wenn man eben die Nachricht nicht weiterleitet, dabb bekommen eben keine anderen Programme die Nachricht mehr (was du ja willst). -- class God : public ChuckNorris { };