7

すべての Windows 開発者は、次の形式のアラートに精通しています。

Foo.exe に問題が発生したため、終了する必要があります。

私は自分のアプリがときどき爆発するのを我慢していますが (もちろん開発中だけです)、そのときは、ここで "Foo.exe" を見たくありません。「FooBrowser™」などの「わかりやすい」名前が欲しいです。

この文字列をオーバーライドする方法について、MSDN のドキュメントを高低で検索しましたが、見つかりませんでした。そして、運がなくてもそのメカニズムに出くわすことができるかどうかを確認するために、多くの実験を行いました. しかし、Web で「問題が発生したため、終了する必要があります」と検索すると、多くの人が分かりやすい名前で始まるインスタンスについて話し合っているのを目にします。:-)

ネイティブの Win32 アプリケーションで機能するには、これが必要です。.NET はオプションではありません。Web で議論されている一連の例には、Microsoft Internet Explorer (ネイティブ アプリ) と Microsoft Works (私が見たときから 4 億年が経過していますが、まだネイティブ アプリであると思います) が含まれます。

秘密の握手とは?

4

5 に答える 5

4

どのバージョンの Windows をターゲットにしているのか正確にはわかりませんが、新しいバージョンでは、クラッシュしたときにわかりやすい製品名を使用しようとします。

実行可能ファイルにバージョン リソースを追加し、わかりやすい製品名とファイル名を FileDescription 文字列に指定してください。

詳細については、MSDN のこのページを参照してください。

于 2009-12-11T00:47:50.830 に答える
2

私の理解では、例外が OS に到達すると、運が悪いということです。私のアプローチは、OS に到達するに例外をキャッチすることです。私のアプリケーションでは、未処理の例外が発生したときに表示するフォームがあり、ユーザーがバグ レポートを送信できるため、OS が話しているフォームを表示できません。

ちょうど別の視点:)

于 2009-12-11T00:40:09.497 に答える
1

アプリケーションの実行可能ファイルの名前を変更しないのはなぜFooBrowser™.exeですか?

于 2009-12-11T00:37:25.230 に答える
1

うーん。これで何ができるかはわかりませんが、試してみる価値はあります。SetCurrentProcessExplicitAppUserModelIDを調べてみてください

于 2009-12-11T00:38:50.060 に答える
0

アプリケーションのフレンドリ名を含む単純な文字列リソースを作成し、メッセージをフォーマットするときにそれを使用できませんか?

どう思いますか?

これがお役に立てば幸いです。よろしくお願いします、トム。

于 2009-12-11T00:34:12.533 に答える