Frage

Jeder Windows-Entwickler ist nur allzu vertraut mit einer Warnung von der Form:

  

foo.exe hat ein Problem festgestellt und muss beendet werden.

Ich bin auf meine apps trat von Zeit zu Zeit (nur während der Entwicklung natürlich), aber wenn sie es tun, ich will nicht, um zu sehen, „foo.exe“ hier Sprengung. Ich möchte ein „freundlichen“ Namen wie „FooBrowser ™“ sehen.

Ich habe die MSDN-Dokumentation hoch und niedrig für eine Art und Weise durchsucht diese Zeichenfolge außer Kraft zu setzen und sie nicht gefunden. Und ich habe viele Experimente durchgeführt, um zu sehen, ob ich über den Mechanismus ohne Glück stolpern könnte. Allerdings, wenn ich die Web-Suche nach „ein Problem gestoßen und muss beendet werden“, sehe ich viele Leute Instanzen voraus von einem freundlichen Namen zu diskutieren, und ich bezweifle, sie sind alle den gesamten Alarm mit ihrer eigenen zu ersetzen. : -)

Ich brauche dies für native Win32-Anwendungen zu arbeiten; .NET ist keine Option. Der Satz von Beispielen, die ich im Web diskutiert siehe enthält Microsoft Internet Explorer (eine native App) und Microsoft Works (was ich davon ausgehen, ist immer noch eine native App, obwohl es vier Äonen her, seit ich es sah).

Was ist das Geheimnis Handshake?

War es hilfreich?

Lösung

Ich bin mir nicht ganz sicher, welche Version von Windows Sie zielen, aber neuere, wird versuchen, den freundlichen Produktnamen zu verwenden, wenn Sie zum Absturz bringen.

Stellen Sie sicher, dass Sie eine Version Ressource ausführbare Datei hinzufügen und ein freundlichen Produktnamen und Dateinamen, in dem Filedescription String.

Das auf MSDN bietet mehr Informationen.

Andere Tipps

Mein Verständnis ist, dass, sobald Sie Ihre Ausnahme von dem O sprudelt, Sie kein Glück. Mein Ansatz wäre die Ausnahme zu fangen vor es das Betriebssystem erreicht. In meinen Anwendungen habe ich ein Formular, das zeige ich, wenn ich eine nicht behandelte Ausnahme, die die Benutzer Berichte einreichen Fehler erlaubt, verhindern, dass das Betriebssystem aus, welche die Form über Sie reden.

Nur eine andere Perspektive:)

Warum nicht einfach die Anwendung ausführbare FooBrowser™.exe umbenennen?

hmm. Ich weiß nicht, ob dies sicher ist, was es tun wird, aber es ist ein Versuch wert. Versuchen Sie suchen in SetCurrentProcessExplicitAppUserModelID

Könnten Sie nicht eine einfache String-Ressource erstellen, die den angezeigten Namen Ihrer Anwendung enthält und verwenden, wenn die Nachrichtenformatierung?

Was denken Sie?

Hope, das hilft, Freundliche Grüße, Tom.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top