packager: Implement Activate verb for OleObject::DoVerb.

This commit is contained in:
Andrew Eikum 2014-06-18 14:58:26 -05:00 committed by Alexandre Julliard
parent 04b6fc9d5e
commit 7c6899ba7b
1 changed files with 16 additions and 2 deletions

View File

@ -175,12 +175,26 @@ static HRESULT WINAPI OleObject_GetClipboardData(IOleObject *iface, DWORD dwRese
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT do_activate_object(struct Package *This, HWND parent)
{
static const WCHAR openW[] = {'o','p','e','n',0};
ShellExecuteW(parent, openW, This->filename, NULL, NULL, SW_SHOW);
return S_OK;
}
static HRESULT WINAPI OleObject_DoVerb(IOleObject *iface, LONG iVerb, LPMSG lpmsg, IOleClientSite *pActiveSite, static HRESULT WINAPI OleObject_DoVerb(IOleObject *iface, LONG iVerb, LPMSG lpmsg, IOleClientSite *pActiveSite,
LONG lindex, HWND hwndParent, LPCRECT lprcPosRect) LONG lindex, HWND hwndParent, LPCRECT lprcPosRect)
{ {
struct Package *This = impl_from_IOleObject(iface); struct Package *This = impl_from_IOleObject(iface);
FIXME("(%p)->(%d)\n", This, iVerb);
return E_NOTIMPL; TRACE("(%p)->(%d)\n", This, iVerb);
switch(iVerb){
case 0:
return do_activate_object(This, hwndParent);
}
return E_INVALIDARG;
} }
static HRESULT WINAPI OleObject_EnumVerbs(IOleObject *iface, IEnumOLEVERB **ppEnumOleVerb) static HRESULT WINAPI OleObject_EnumVerbs(IOleObject *iface, IEnumOLEVERB **ppEnumOleVerb)