Skip to content

Commit 2c9c634

Browse files
authored
[SHELL32] Implement SHFindComputer (reactos#5524)
CORE-9277
1 parent 732f223 commit 2c9c634

File tree

2 files changed

+33
-11
lines changed

2 files changed

+33
-11
lines changed

dll/win32/shell32/stubs.cpp

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,6 @@ ShortSizeFormatW(LONGLONG llNumber)
2525
return NULL;
2626
}
2727

28-
/*
29-
* Unimplemented
30-
*/
31-
EXTERN_C BOOL
32-
WINAPI
33-
SHFindComputer(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
34-
{
35-
FIXME("SHFindComputer() stub\n");
36-
return FALSE;
37-
}
38-
3928
/*
4029
* Unimplemented
4130
*/

dll/win32/shell32/utils.cpp

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,36 @@ SheRemoveQuotesW(LPWSTR psz)
6666

6767
return psz;
6868
}
69+
70+
/*************************************************************************
71+
* SHFindComputer [SHELL32.91]
72+
*
73+
* Invokes the shell search in My Computer. Used in SHFindFiles.
74+
* Two parameters are ignored.
75+
*/
76+
EXTERN_C BOOL
77+
WINAPI
78+
SHFindComputer(LPCITEMIDLIST pidlRoot, LPCITEMIDLIST pidlSavedSearch)
79+
{
80+
UNREFERENCED_PARAMETER(pidlRoot);
81+
UNREFERENCED_PARAMETER(pidlSavedSearch);
82+
83+
TRACE("%p %p\n", pidlRoot, pidlSavedSearch);
84+
85+
IContextMenu *pCM;
86+
HRESULT hr = CoCreateInstance(CLSID_ShellSearchExt, NULL, CLSCTX_INPROC_SERVER,
87+
IID_IContextMenu, (void **)&pCM);
88+
if (FAILED(hr))
89+
{
90+
ERR("0x%08X\n", hr);
91+
return hr;
92+
}
93+
94+
CMINVOKECOMMANDINFO InvokeInfo = { sizeof(InvokeInfo) };
95+
InvokeInfo.lpParameters = "{996E1EB1-B524-11D1-9120-00A0C98BA67D}";
96+
InvokeInfo.nShow = SW_SHOWNORMAL;
97+
hr = pCM->InvokeCommand(&InvokeInfo);
98+
pCM->Release();
99+
100+
return SUCCEEDED(hr);
101+
}

0 commit comments

Comments
 (0)