で、今しようとしているものについてですけど、
LoadLibrary, GetProcAddress で取得したポインタに対して 呼び出しをしたいのですけど、その時に引数を動的に変えたいのです
変えるものというのは 引数の数,引数の型,関数名 という品目で本来ユーザーでなくソースにて記述するべき項目です。
具体的な例をあげると
typedef void* (__stdcall *DLLFUNC)(...);
HMODULE hModule = LoadLibrary("user32.dll");
DLLFUNC func = (DLLFUNC)GetProcAddress(hModule, "MessageBoxA");
できれば配列の中身を勝手に引数にしてくれると嬉しいのですけど、、、
ひとつ方法を見つけた?のですけど、引数の数が固定されるのだけは動的に変えられないようなので質問をしました。
どうぞよろしくお願いします。
一応私のc++歴? は wikiの規格を読むくらいで、最近ようやっとc++11で遊び始めました。
// 上記funcに対してこれで一応型と関数名までは動的に変えられる?,数も定義すれば何個でもいける?(無確認)
std::array<long long, 20> values = { 0, (long long)"text", (long long)"title", MB_OK };
func(
values[0],
values[1],
values[2],
values[3],
values[4],
values[5],
values[6],
values[7],
values[8],
values[9],
values[10],
values[11],
values[12],
values[13],
values[14],
values[15],
values[16],
values[17],
values[18],
values[19]
);