ゲーム描画面に直接描画するのは、
デバイスコンテキストがクリアされる・されないの問題を含むので、
ScenarioModの層でゲーム描画面に直接ってのは、
描画しても一瞬でクリアされて、
ちょっとムズイと思いますねぇ。
(TSModみたいにある程度デバイスコンテキストの描画が止まるタイミングの
コールバック関数を本体に対して多数打ち付けてたら別なんだけれども…)

ref class hGlobalMng {
public:
static System::Drawing::Graphics^ g;
static System::Drawing::Image^ img;
};

string カスタム::On_噴出メッセージ直前(string 武将名, string 元メッセージ, メッセージ関連情報型 メッセージ関連情報) {

HWND hWnd = FindWindow("Tenshouki95", NULL);

hGlobalMng::g = System::Drawing::Graphics::FromHwnd((IntPtr)hWnd);

IO::FileStream ^fs = gcnew IO::FileStream(L"a.png", IO::FileMode::Open, IO::FileAccess::Read);
hGlobalMng::img = System::Drawing::Image::FromStream(fs);
fs->Close();

// Draw rectangle to screen.
hGlobalMng::g->DrawImage(hGlobalMng::img, 30, 50, 64, 80);

if (武将名 == "真田幸隆") {
return "マジかよ…最悪だぉ!!";
}

// 変更しない場合""
return "";
}

とかすれば一瞬は描けるだろうけれども、すぐクリアされるはず。

となると、結局 http://天翔記.jp/?page=nobu_mod_the_snmod_dotnet_04 の方がコントロール効くだろうなぁとは思いますねぇ。


というか DrawMyImage() メソッド以外は
「天翔記のレイヤーの上にアクティブにならないウィンドウを作る、背景が(一見)透明なのでマウスが突き抜ける」
という部分なので仕方がないかと。

(むしろ、こんな短い行数でそんなこと出来るんでっかぐらいの勢いだと思います)