AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Windows Meldungen unterdrücken

Ein Thema von JRichmann · begonnen am 15. Aug 2014 · letzter Beitrag vom 15. Aug 2014
Antwort Antwort
JRichmann

Registriert seit: 8. Dez 2009
Ort: Pattensen
57 Beiträge
 
Delphi XE5 Architect
 
#1

Windows Meldungen unterdrücken

  Alt 15. Aug 2014, 11:47
Hallo...

wir habe eine Automatensoftware erstellt (etwas in der Art wie man es von den Fahrkarten Automaten der DB kennt).

Die Software ist mit Delphi 2010 erstellt und läuft unter Win7.

Der Benutzer soll natürlich nicht ins OS kommen. Darum wird die Taskleiste und das Startmenü unsichtbar gemacht. Die Software legt sich dann vollflächig auf den Monitor. Das Funktioniert auch soweit ganz gut.

Im Moment passiert es leider, das die Software sich fest frisst und hängt. Dann kommt das Typische Windows System Fenster hoch:

"EXE reagiert nicht"
- Online nach einer Lösung suchen
- Programm schließen
- Auf antwort Warten

Hierüber gelangt der User dann doch ins OS.

Kann man diese Meldung irgendwie unterdrücken ? Der User darf auf gar keinen Fall ins OS gelangen.

Grüße

Jörg
Jörg Richmann
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

AW: Windows Meldungen unterdrücken

  Alt 15. Aug 2014, 12:25
Kann man diese Meldung irgendwie unterdrücken ?
Ja, indem ihr eure Anwendung nicht "hängen" lasst.

Der User darf auf gar keinen Fall ins OS gelangen.
Such im Forum mal nach Kiosk, Kiosk-Modus, oder sowas ... her gibt es schon jemanden, der sowas macht.

PS:
Win (die Windows-Taste)
Strg+Alt+Entf
Strg+ESC
Alt+Tab
Win+E
und tausende weitere Wege ins Windows
$2B or not $2B
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#3

AW: Windows Meldungen unterdrücken

  Alt 15. Aug 2014, 12:31
Es gibt ein paar Suites die Windows in einen "Kiosk-Modus" versetzen, der genau für solche Anwendungen gedacht ist. In wie weit ein Totalabsturz des Programms dabei von den diversen Tools behandelt wird, weiss ich allerdings mangels Erfahrung mit den Dingern nicht.
Grundsätzlich wäre es aber wohl erheblich besser zu versuchen, die Ursache für diesen "Unfall" zu lokalisieren und ihn sauber über Exceptions im Programm schon abzuhandeln.

Edit: Ui, da war ich etwas lahm =)
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Windows Meldungen unterdrücken

  Alt 15. Aug 2014, 12:42
Exception Handling und alles was dazu gehört sollte natürlich durchgeführt werden, um eine Anwendung möglichst stabil zu halten. Aber davon abgesehen könntet ihr doch einfach als "Shell" die geladen wird nicht die "explorer.exe" eintragen, sondern euer Programm. Dann ist zumindest schonmal verhindert, dass im Hintergrund der Desktop sichtbar ist. Das ist dann schon so eine Art "Kiosk-Modus".

Code:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
hier den Schlüssel "Shell" entsprechend anpassen.

Ob das natürlich die optimale Lösung ist sei mal dahingestellt.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Windows Meldungen unterdrücken

  Alt 15. Aug 2014, 12:48
Kann man diese Meldung irgendwie unterdrücken ?
Ja, indem ihr eure Anwendung nicht "hängen" lasst.


K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#6

AW: Windows Meldungen unterdrücken

  Alt 15. Aug 2014, 13:35
Kann man diese Meldung irgendwie unterdrücken ?
Ja, indem ihr eure Anwendung nicht "hängen" lasst.
madExcept hat so eine Option: check for frozen main thread
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#7

AW: Windows Meldungen unterdrücken

  Alt 15. Aug 2014, 13:51
Das war jetzt nicht genau das, was himitsu wohl gemeint hat. Ich kann mir vorstellen, das der mühsehlige Weg über Entwanzen, Speicherlecks stopfen, Architektur aufräumen doch eher zum Ziel führt.

Und wenn doch alles perfekt ist, aber die UI auf eine Rückantwort wartet, dann => ab damit in den Thread.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#8

AW: Windows Meldungen unterdrücken

  Alt 15. Aug 2014, 16:28
Das war jetzt nicht genau das, was himitsu wohl gemeint hat. Ich kann mir vorstellen, das der mühsehlige Weg über Entwanzen, Speicherlecks stopfen, Architektur aufräumen doch eher zum Ziel führt.
Aber genau dazu dient doch diese Option!

Zitat von http://help.madshi.net/madExceptSettings1.htm:
If you turn the check for frozen main thread option on, madExcept periodically checks at runtime whether your main thread still reacts to messages. If it does not react for the specified time (default 60 seconds), an exception is raised. This functionality should help you finding and locating infinite loops and dead locks. Since each bug report contains the callstack of all threads of the current process, you can often quite easily see, what each thread was doing and who possibly waited on whom and why.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#9

AW: Windows Meldungen unterdrücken

  Alt 15. Aug 2014, 16:41
Wow. Sollte mich mal wieder anschauen, das Teil.
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Windows Meldungen unterdrücken

  Alt 15. Aug 2014, 16:56
Es könnte aber auch passieren, dass die Anwendung selbst fehlerfrei ist, aber irgendeine DLL o.ä. Fehler verursacht. Das beste wäre vielleicht ein Watchdog als Extra-Prozess (nicht bloß Thread wie bei madExcept, der kann ja mitabstürzen), der in regelmäßigen Abständen prüft, ob alles in Ordnung ist, und ggf. die Anwendung neustartet.
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:51 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