![]() |
Minimieren/Schließen einer Anwendung verhindern
Hallo,
Ich bin dabei mit Delphi 6 ein Programm zu schreiben, das ein anderes Programm öffnet, maximiert und seinem Fenster den Fokus erteilt. Bis dahin kein Problem, aber ich suche jetzt eine Möglichkeit, zu verhindern, dass dieses Fenster geschlossen oder minimiert (oder in einen anderen Zustand als maximiert versetzt) wird oder auch nur ein anderes Fenster (das nicht zu demselben Programm gehört) den Fokus erhält. Ich möchte also, dass der User ganz auf dieses Programm beschränkt ist (habe auch die Taskleiste ausgeblendet). Ich habe mit der Suchfunktion einen Ansatz gefunden, mit globalen Hooks alle Fensternachrichten abzufangen (und ggf. Schließen/Minimieren - Befehle "unschädlich" zu machen), aber ich hoffe es gibt auch noch eine einfachere Lösung! Ich habe versucht, dem betreffenden Fenster mit einem Timer immer wieder den Fokus zu geben, es zu maximieren etc., aber das halte ich für eine sehr unschöne Lösung. Würde mich über effizientere Ansätze freuen |
Re: Minimieren/Schließen einer Anwendung verhindern
Schau dir mal die Application-Event-Kompo an. Da steht "OnMinimize". Da trägst du einfach FormX.Restore ein...
|
Re: Minimieren/Schließen einer Anwendung verhindern
Achso, und setze bei der Eigenschaft Formx.OnCloseQuery die Variable CanClose:=False. Sorry für die Kürze der Antwort, muss aber weg.
|
Re: Minimieren/Schließen einer Anwendung verhindern
@DJ-SPM: Ich galueb, er will das bei dem Fenster erreichen dessen Programm er startet. Also nicht bei seinem, sonder bei einem fremden Fenster.
|
Re: Minimieren/Schließen einer Anwendung verhindern
Zitat:
|
Re: Minimieren/Schließen einer Anwendung verhindern
Ich denke dann wirst du um das Abfangen der Nachrichten nicht drumrum kommen
//edit :idea: Idee: Ist es eigentlich möglich, über das Handle an das Fenster ranzukommen, in ein Delphi-Form zu "typecasten" und darin dann die eventhandler zu überschreiben? |
Re: Minimieren/Schließen einer Anwendung verhindern
OK, dann habe ich das falsch verstanden und bin somit aus dem Rennen ;)
|
Re: Minimieren/Schließen einer Anwendung verhindern
Zitat:
|
Re: Minimieren/Schließen einer Anwendung verhindern
Du kannst das Fensterhandle herausbekommen, aber das reicht dir nicht: Nur weil Du die Adresse von jemanden hast, kannst du die Person ja auch nicht abgreifen.
Schreib Dir einen globalen Messagehook, wenn ein WM_CLOSE oder WM_QUERYENDSESSION an das betreffende Fenster geschickt wird, fängst Du das einfach ab. Aber Vorsicht! So ein Hook bremst ungemein und kann dein Windows zum Absturz bringen. |
Re: Minimieren/Schließen einer Anwendung verhindern
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz