Eric Pouech <eric.pouech(a)orange.fr> writes:
> +static void CALLBACK MACRO_ExecFile(LPCSTR pgm, LPCSTR args, LONG cmd_show, LPCSTR topic)
> {
> - WINE_FIXME("(\"%s\", \"%s\", %u, \"%s\")\n", str1, str2, u, str3);
> + static HINSTANCE (WINAPI *shell_exec)(HWND, LPCSTR, LPCSTR, LPCSTR, LPCSTR, INT);
> + HINSTANCE ret = 0;
> +
> + WINE_TRACE("(\"%s\", \"%s\", %u, \"%s\")\n", pgm, args, cmd_show, topic);
> + if (!shell_exec)
> + {
> + HANDLE h;
> +
> + if ((!(h = GetModuleHandle("shell32.dll")) && !(h = LoadLibraryA("shell32.dll"))) ||
> + !(shell_exec = (void*)GetProcAddress(h, "ShellExecuteA")))
> + {
> + WINE_ERR("Couldn't load shell32.ShellExecute\n");
> + }
> + }
Why not call ShellExecuteA directly?
--
Alexandre Julliard
julliard(a)winehq.org