AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Minimieren/Schließen einer Anwendung verhindern
Thema durchsuchen
Ansicht
Themen-Optionen

Minimieren/Schließen einer Anwendung verhindern

Ein Thema von DarkLord0 · begonnen am 14. Sep 2005 · letzter Beitrag vom 22. Sep 2005
Antwort Antwort
Seite 1 von 2  1 2      
DarkLord0

Registriert seit: 31. Okt 2004
59 Beiträge
 
#1

Minimieren/Schließen einer Anwendung verhindern

  Alt 14. Sep 2005, 20:25
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
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#2

Re: Minimieren/Schließen einer Anwendung verhindern

  Alt 14. Sep 2005, 20:28
Schau dir mal die Application-Event-Kompo an. Da steht "OnMinimize". Da trägst du einfach FormX.Restore ein...
Bisheriger Nutzername "DJ-SPM"
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#3

Re: Minimieren/Schließen einer Anwendung verhindern

  Alt 14. Sep 2005, 21:00
Achso, und setze bei der Eigenschaft Formx.OnCloseQuery die Variable CanClose:=False. Sorry für die Kürze der Antwort, muss aber weg.
Bisheriger Nutzername "DJ-SPM"
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Minimieren/Schließen einer Anwendung verhindern

  Alt 14. Sep 2005, 22:55
@DJ-SPM: Ich galueb, er will das bei dem Fenster erreichen dessen Programm er startet. Also nicht bei seinem, sonder bei einem fremden Fenster.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
DarkLord0

Registriert seit: 31. Okt 2004
59 Beiträge
 
#5

Re: Minimieren/Schließen einer Anwendung verhindern

  Alt 14. Sep 2005, 22:57
Zitat von Luckie:
@DJ-SPM: Ich galueb, er will das bei dem Fenster erreichen dessen Programm er startet. Also nicht bei seinem, sonder bei einem fremden Fenster.
So ist es
  Mit Zitat antworten Zitat
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#6

Re: Minimieren/Schließen einer Anwendung verhindern

  Alt 15. Sep 2005, 08:50
Ich denke dann wirst du um das Abfangen der Nachrichten nicht drumrum kommen

//edit
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?
Christian
Der Computer hilft mir, Probleme zu lösen, die ich ohne Computer nicht hätte.
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#7

Re: Minimieren/Schließen einer Anwendung verhindern

  Alt 15. Sep 2005, 14:07
OK, dann habe ich das falsch verstanden und bin somit aus dem Rennen
Bisheriger Nutzername "DJ-SPM"
  Mit Zitat antworten Zitat
DarkLord0

Registriert seit: 31. Okt 2004
59 Beiträge
 
#8

Re: Minimieren/Schließen einer Anwendung verhindern

  Alt 17. Sep 2005, 19:10
Zitat von tigerman33:
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?
Das wäre allerdings ein eleganter Weg, sollte es funktionieren. Vielleicht könnte sich ja mal jemand dazu äußern, der sich damit auskennt (ich weiß nämlich nicht wie ich das konkret durch code umsetzen sollte).
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#9

Re: Minimieren/Schließen einer Anwendung verhindern

  Alt 17. Sep 2005, 20:48
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.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#10

Re: Minimieren/Schließen einer Anwendung verhindern

  Alt 17. Sep 2005, 20:53
Zitat von alzaimar:
[...] und kann dein Windows zum Absturz bringen.
Ist mir noch nie untergekommen! Zumindest nicht mit einem Fensterhook auf der NT-Plattform. Sicher, über 9x/Me brauchen wir hier nicht erst reden, aber wo ist dir das denn untergekommen? Oder ist für dich "unbenutzbar" bereits das gleiche wie "abgestürzt"?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz