どのように私は、「%sは問題が発生したため終了します」カスタマイズすることができますか?
質問
すべてのWindowsの開発者は、すべての形式の警告とあまりにも精通しています
FOO.EXEは、問題が発生したため、終了する必要があります。
私は自分のアプリケーション(のみのコースの開発中)随時爆破に辞任していますが、彼らが行うとき、私はここで、「FOO.EXE」を見たいと思っていません。私は、このような「FooBrowser™」と「友好」の名前を見たいと思っています。
私はこの文字列をオーバーライドする方法のためのハイとローのMSDNドキュメントを検索し、それを見つけていませんでした。そして私は、私は運なしメカニズム渡ってつまずくことができるかどうかを確認するための実験をたくさん行ってきました。私は「問題が発生したため終了します」のためにウェブを検索する場合しかし、私はフレンドリ名が先行事例を議論する人々の多くを見て、私は彼らがすべて自分自身で全体の警告を交換している疑い。 : - )
私は、ネイティブのWin32アプリケーションのために働くために、この必要があります。 .NETはオプションではありません。ウェブ上で議論し、私が見る例のセットは、(私はそれを見たので、それが4つの長い年月をされているものの、まだネイティブアプリであると仮定)は、MicrosoftのInternet Explorer(ネイティブアプリ)とMicrosoft Worksのが含まれます。
秘密の握手は何でしょうか。
解決
私はあなたがターゲットとしているWindowsのバージョンまさにわからないんだけど、新しいものは、あなたがクラッシュしたときに優しい製品名を使用しようとします。
あなたが実行ファイルにバージョンリソースを追加し、変数FileDescription文字列で、優しい製品名およびファイル名を指定することを確認します。
この MSDNのページは、より多くを提供します情報ます。
他のヒント
私の理解では、あなたの例外はOSまで泡たら、あなたは運の出ているということです。私のアプローチは、のそれはOSに到達する前に、<全角>の例外をキャッチすることです。私のアプリケーションでは、私は、ユーザーがあなたが話している形を示すからOSを防ぎ、バグレポートを提出することができます未処理の例外を持っているとき、私は示してフォームを持っています。
ただ、別の視点:)
なぜだけではなく、アプリケーションの実行可能FooBrowser™.exe
の名前を変更する?
うーん。これはそれを何をするか確かにあるかどうかは知りませんが、それは試してみる価値はあります。 SetCurrentProcessExplicitAppUserModelIDする
に探してみてくださいあなたはあなたのアプリケーションのフレンドリ名を含む単純な文字列リソースを作成し、メッセージをフォーマットするときに使うことができませんでしたか?
あなたはどう思いますか?
これが、お役に立てば幸い 宜しくお願いします、 トムます。