MMF2用Aeroデスクトップテーマ無効化ウィジェット

■概要

Multimedia Fusion 2(MMF2)製ゲームに組み込むと、起動時にAeroデスクトップテーマを無効化することができます。 Windows Vista以降に実装されているデスクトップテーマのWindows AeroはMMF2と相性が悪く、場合によっては動作の滑らかさが損なわれてしまう恐れがあり、通常このテーマは無効にしてプレイすることが推奨されています。

Aeroを無効にする方法としては、エクスプローラーでEXEのプロパティを開き、「互換性」タブの「デスクトップコンポジョンを無効にする」にチェックを入れれば良いのですが、このウィジェットを導入すればその手間を省くことができます。

必要なイベントは全てオブジェクトイベントに収められているので、オブジェクトをコピーするだけで即利用が可能です。
機能を取り払いたい場合もオブジェクトを削除するだけで済みます。


■導入方法

本ウィジェットを使用するには、エクステンションの「The Big Box」が必要です。
MMF2 wiki等から辿って入手してください。

■1.準備

「widget」フォルダを組み込む対象(ゲーム本体)のmfaの置かれているフォルダにコピーします。
既に別のウィジェットを使っていてwidgetフォルダが存在する場合は一緒にしてしまっても構いません。

フォルダ

フォルダ

■2.オブジェクトをコピー

「disable_windows_aero_widget.mfa」を開き、フレーム内にある以下のオブジェクトを組み込む対象のmfaにコピーします。

「Ini_[Disable_Aero_widget]」「Window_Control_[Disable_Aero_widget]」フレーム1にだけ置いてください。
他のオブジェクトは全フレームに置いて下さい。
サブアプリケーションを使用している場合は、サブアプリケーションのあるフレーム(親フレーム)にはコピーする必要がありますが、
サブアプリケーションを介して表示しているフレーム(子フレーム)内には置かなくても問題ありません。

以上で完了です。
機能を取り払う場合は、コピーしたオブジェクトを全て削除して下さい。
新しいバージョンに差し替える場合も、一度削除してから新しいオブジェクトをコピーして下さい。


■「aeroconfig.ini」について

「widgetフォルダ」内の「aerooffフォルダ」にある「aeroconfig.ini」の設定を変える事でAero無効化プログラムを起動するかどうかを設定できます。

[Aero]
UseDisableAeroProgram=1
Aero無効化プログラムを起動するかどうか。
0:起動しない 1:起動する

WindowTopTime=30
Aero無効化後にウィンドウが背面に移動してしまう(またはアクティブにならない)ことがあるのを防止するために、ウィンドウを前面に固定させる処理を行う時間。
単位はフレーム数。60フレームのアプリなら60で1秒間。
起動してAeroが無効になった後にウィンドウが背面に移動する(またはアクティブにならない)場合はこの時間を長くする。

Aero無効化プログラムの起動をユーザーに委ねたい場合はこの設定を変更するオプションを組み込んで下さい。


■注意

トランジション トランジション
フレームの「フェードイントランジション」を設定している場合、トランジション実行中にアプリを終了すると、Aero無効化プログラムが終了されないのでご注意ください。
フェードアウトトランジションの場合は、Aero無効化プログラム終了のイベントが実行されてからトランジションが始まるので問題ありません。

・このウィジェットが組み込まれたアプリが、強制終了など正常に終了しなかった場合、デスクトップテーマが元に戻らない可能性があります。
そのような状態になったら、タスクマネージャを起動して「aerooff.exe」というプロセスを終了させて下さい。

・コマンドラインに「/LogWidget」を指定すると、EXEと同じ場所に「widgetlog.txt」を作成します。


■バージョン確認方法

コンフィグウィジェット:[G]System_[Disable_Aero_widget]のアイコン左下。
Aero無効化プログラム:aerooff.exeのプロパティ画面。