function ShellExecuteGLE(hWnd: HWND; Operation, FileName, Parameters, Directory: PWideChar; ShowCmd: Integer): HINST;
overload;
begin
Result := ShellExecuteGLE(hWnd, Operation, FileName, Parameters, Directory, ShowCmd);
if Result <= 32
then begin
case Result
of // Übersetzung: DDE Error > Win32 Error Code
0: Result := ERROR_OUTOFMEMORY;
ERROR_BAD_FORMAT: ;
SE_ERR_ACCESSDENIED: Result := ERROR_ACCESS_DENIED;
SE_ERR_ASSOCINCOMPLETE: Result :=
{?}ERROR_ACCESS_DENIED;
SE_ERR_DDEBUSY: Result :=
{?}ERROR_BUSY;
SE_ERR_DDEFAIL: Result := ERROR_DDE_FAIL;
SE_ERR_DDETIMEOUT: Result :=
{?}ERROR_TIMEOUT;
SE_ERR_DLLNOTFOUND: Result := ERROR_DLL_NOT_FOUND;
SE_ERR_FNF: Result := ERROR_FILE_NOT_FOUND;
SE_ERR_NOASSOC: Result := ERROR_NO_ASSOCIATION;
SE_ERR_OOM: Result :=
{?}RPC_S_OUT_OF_RESOURCES;
SE_ERR_PNF: Result := ERROR_PATH_NOT_FOUND;
SE_ERR_SHARE: Result := ERROR_SHARING_VIOLATION;
end;
SetLastError(Result);
Result := 0;
// INVALID_HANDLE_VALUE?
end;
end;