「一般MOD」の補足概要前の解説では、実際に「一般MOD」としてMyMiniMod.dllを作成してみました。 ここでは、「一般MOD」の補足的な機能の説明を行います。 呼び出しプログラムの判定方法さて、「一般MOD」は、ファイル単体では動作しません。 呼び出しているのは、
呼び出しています。 そして、どちらが呼び出したのかを確認することが出来るようになっています。 //-------------------------------------------------------- void WINAPI On_初期化(HANDLE 呼び出し元ハンドル) { // パスを受け取るためのバッファ char szFullDLLName[1024] = ""; // DLLハンドル(実際にはメモリ上のアドレス)⇒そやつのフルネームを得る。 GetModuleFileNameA((HMODULE)呼び出し元ハンドル, szFullDLLName, sizeof(szFullDLLName)-1); // メッセージボックスに出す。 MessageBox(NULL, szFullDLLName, szFullDLLName, NULL); MessageBox(NULL, "初期化", "初期化", NULL); } これを実行すれば、以下のようなダイアログが出ます。
よって、 ということは、TSModから起動された時と、PluginModから起動された時で、 これは一定以上複雑なプログラムを作る際には、必要なシーンが出てくる機能です。 PluginMod.iniとマニュアルでのMod読み込みもうひとつ大切な機能があり、「読み込む対象の『一般MOD』を手動に切り替える」という機能があります。 天翔記フォルダに、「PluginMod.ini」というファイルを作成し、中身を空っぽにしてみましょう。 そうすると、「一般MOD」は何一つ実行されません。 では、PluginMod.iniを開き、「MyMiniMod.dll」と記述してみましょう。
天翔記を実行すると、 「MyMiniMod.dll」が実行されることがわかるはずです。 では次の行に「MyMaxMod.dll」と書いてみましょう。 天翔記フォルダの中に、「MyMaxMod.dll」があれば、「MyMiniMod.dll」と「MyMaxMod.dll」が、「その順番」で、実行されます。 このように、「PluginMod.ini」によって、複数のDLLを記述し、順番通りに実行させることが可能となっています。 ただし、これはあくまでも開発者用のデバッグ機能です。 この機能を使えば、 この機能の順番実行機能などを利用したいがために、各ユーザーにPluginMod.iniを配ったり作らせたりすることは、 |