C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: エラーメッセージの取得について


(過去ログ 65 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■37979 / inTopicNo.1)  エラーメッセージの取得について
  
□投稿者/ 成田山 (1回)-(2009/07/05(Sun) 11:27:06)

分類:[ソフトウェア全般] 

他のアプリケーションのエラーメッセージを取得する方法について、質問いたします。

エラーメッセージはリソースとしてアプリケーションなりDLLなりに埋め込まれていると思うのですが、それを取り出す方法はないでしょうか?
具体的には、テキストメッセージとキャプション、アイコン、音といった属性が知りたいのですが…

C++でのメッセージリソースの作り方はなんとなく理解したのですが、取り出す方法はないものでしょうか。

どうか、みなさまのお知恵をお借しください。
引用返信 編集キー/
■37984 / inTopicNo.2)  Re[1]: エラーメッセージの取得について
□投稿者/ 渋木宏明(ひどり) (1187回)-(2009/07/05(Sun) 12:39:54)
渋木宏明(ひどり) さんの Web サイト
> エラーメッセージはリソースとしてアプリケーションなりDLLなりに埋め込まれていると思うのですが、

そうであるものもあるし、そうでないものもあります。

>それを取り出す方法はないでしょうか?

メッセージリソースは、リソース操作用の Win32 API を使えば取り出すことはできます。

ですが、取り出したメッセージリソースがエラーメッセージであるかどうかを確実に判断する方法は存在しないです。(人間が見ればある程度は判別できるでしょうけど)

> 具体的には、テキストメッセージとキャプション、アイコン、音といった属性が知りたいのですが…

それらの属性は、メッセージ表示に MessageBox API を使用しているなら、同 API の引数として与えるものですが、メッセージリソース以外はどれもコードに埋め込まれている可能性がかなり高いと思います。

また、メッセージ表示に MessageBox API を使用せず、独自のダイアログなどで表示している場合もあるでしょう。
引用返信 編集キー/
■37985 / inTopicNo.3)  Re[1]: エラーメッセージの取得について
□投稿者/ オショウ (253回)-(2009/07/05(Sun) 12:46:35)
> C++でのメッセージリソースの作り方はなんとなく理解したのですが、取り出す方法はないものでしょうか。

  リソースエディタ等ツールを利用すれば、『リソース形式』として格納されている情報は
  抽出することは可能です。

  が、それがエラーメッセージ等に関わるのかは、内容次第・・・

  プログラム中に直接埋め込まれている文字情報はリソースでは無いので、抽出できません。

  仮に、バイナリエディタで見つけたとしても、結果的にそれらがエラーメッセージに関わ
  るものかは、読んでみないことには判断できません。

※ しかしながら・・・
  その対象するプログラムが権利等主張するものや商品であるならば、ハッキング等行為に
  該当しますので、例え抽出することができなかったとしても、行為自体を不法行為として
  みなされますので、注意が必要です。

以上。
引用返信 編集キー/
■37989 / inTopicNo.4)  Re[2]: エラーメッセージの取得について
□投稿者/ 成田山 (2回)-(2009/07/05(Sun) 15:23:25)
渋木宏明さま、オショウさま

ご回答いただき、ありがとうございます。
早速試してみました。

リソースエディタResEdit(http://www.resedit.net/)を利用して
リソースにアクセスすることができました。"String Table"の中に
エラーに関わるものも、そうでないものも、メッセージとそのIDを
表示できました。ですが、お二方のおっしゃったとおり、
メッセージ以外はリソースではなくコードに埋め込まれているようで、
それらの情報は得られませんでした。

また、オショウさまの権利に関する注意も参考になりました。

ひとまずは、いただいた方略で作業が進められそうです。
ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -