C++相談室 part63

このエントリーをはてなブックマークに追加
197デフォルトの名無しさん
すみませんが、助けていただけないでしょうか。
ttp://www.geocities.jp/menopem/
こちらのDirectXウィンドウ化ツールで使用する補助DLLとして、
「窓化起動したアプリケーションを再びフルスクリーン化する」
というものを制作したいのですが、C++の経験が無いために苦しんでいます。
補助DLLの仕様についてはツール内にtxtで含まれているのですが・・・。

用途としてはどうしても色化けしてしまう古い(256色専用)ゲームをパレットエミュレートで正常に動かすことが目的なのですが、
窓化した場合、窓の描画領域の0.0をディスプレイの0.0に合わせないと、画面描画や文字描画がその分ずれてしまう現象に見舞われてしまったので、その簡易な修正のためです。
問題のゲームは下のデザートタイム夢幻の迷宮とファントムナイト夢幻の迷宮Uです。
ttp://www.parsley.gr.jp/ps_top1.html (リンク先18禁)
198デフォルトの名無しさん:2008/08/03(日) 22:02:08
>197続き
一応書いてみたコード。ウィンドウハンドルとか判りませんorz
#include <windows.h>
#include <stdio.h>

BOOL APIENTRY DllMain( HANDLE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)
{
static TCHAR  processName[MAX_PATH];

switch(ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
GetModuleFileName(0, processName, MAX_PATH);
processName[MAX_PATH-1] = '\0';

OutputDebugString("補助DLLロード確認");
MessageBox(0, processName, "補助DLLロード確認",  MB_OK);

SetWindowLong(HANDLE, GWL_STYLE, WS_POPUP | WS_MINIMIZEBOX | WS_VISIBLE);
SetMenu(HANDLE, NULL);
SetWindowPos(HANDLE, HWND_TOP, 0,0,1400,1052, SWP_FRAMECHANGED | SWP_NOCOPYBITS);

break;

case DLL_PROCESS_DETACH:
OutputDebugString("補助DLLアンロード確認");
MessageBox(0, processName, "補助DLLアンロード確認",  MB_OK);
break;
}
return TRUE;
}