2

CyLog のWildRenameは、ファイルの名前を一括で変更するための優れたプログラムです。問題は、メイン ウィンドウのサイズを変更できますが、最大化ボックスがないため、サイズ変更と使用が少し面倒なことです。さらに、彼らは長い間更新を行っていないため、プログラムは本質的に廃止されています.

WildRename を実行し、WinSpy++ を使用してウィンドウのスタイルを変更し、WS_MINIMIZEBOXスタイルと bam! を手動で含めるようにしました。期待どおりに機能するようになりました。

今の問題は、これをどのように恒久的にするかです。

私の最初の本能は ResHacker を起動することでしたが、問題は、変更する必要があるスタイルが非ダイアログ アプリケーションのメイン ウィンドウのスタイルであるため、ResHacker にはこれを実行する方法がないことです。

次に試みたのは、16 進エディタで開いて、タイトルバーに対応する文字列のアドレスを見つけることでした。次に、W32Dasm でファイルを開き、タイトルバー文字列のアドレスを参照するコードのアドレスを見つけました。に渡されたスタイルを変更できるように、メイン ダイアログが作成される場所を見つけるために、これらすべてを行いましたCreateWindow()。残念ながら、CreateWindowタイトルバー文字列への参照の近くに呼び出しを見つけることができず、見つけることができる呼び出しCreateWindowExは (明らかに) メイン ウィンドウの作成に使用されたものではないようです。

メインウィンドウのスタイルを変更する簡単/自動化された方法はありますか (非ダイアログアプリケーションを想定)?

4

2 に答える 2

0

OllyDBG のようなデバッガーを使用して、WinSpy++ での編集後に exe メモリをダンプし、その exe を使用するか、ファイルを比較して、見逃したものを確認したい場合は変更箇所を確認できます。

于 2012-12-26T03:01:00.697 に答える
0

CreateWindow/Ex()特にリソースからのダイアログでない場合は、への呼び出しが必要です。あなたはただもっと見る必要があります。WinDasm の代わりに IDA を使用します。アセンブリをより理解しやすいコードに逆コンパイルし、組み込みのデバッガーを備えています。タイトル文字列にブレークポイントを設定し、どのコードが実際にそれに触れているかをリアルタイムで確認してから、アクセスしているコードまでたどることができます。

于 2012-12-26T03:13:58.047 に答える