> For the complete documentation index, see [llms.txt](https://malwaresourcecode.com/home/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://malwaresourcecode.com/home/wrappers-and-helpers/executebinaryshellexecuteex.md).

# ExecuteBinaryShellExecuteEx

Small wrapper to ShellExecuteExW

```
BOOL FastcallExecuteBinaryShellExecuteExW(_In_ PWCHAR FullPathToBinary, _In_ PWCHAR OptionalParameters)
{
	SHELLEXECUTEINFOW Execute = { 0 };

	Execute.cbSize = sizeof(SHELLEXECUTEINFOW);
	Execute.lpVerb = L"open";
	Execute.nShow = SW_SHOW;

	if (!FullPathToBinary)
		return FALSE;

	Execute.lpFile = FullPathToBinary;

	if (OptionalParameters)
		Execute.lpParameters = OptionalParameters;

	return ShellExecuteExW(&Execute);
}

BOOL FastcallExecuteBinaryShellExecuteExA(_In_ PCHAR FullPathToBinary, _In_ PCHAR OptionalParameters)
{
	SHELLEXECUTEINFOA Execute = { 0 };

	Execute.cbSize = sizeof(SHELLEXECUTEINFOW);
	Execute.lpVerb = "open";
	Execute.nShow = SW_SHOW;

	if (!FullPathToBinary)
		return FALSE;

	Execute.lpFile = FullPathToBinary;

	if (OptionalParameters)
		Execute.lpParameters = OptionalParameters;

	return ShellExecuteExA(&Execute);
}
```
