From 6d553afec59623089e7e37e43b8065a7d532a3a3 Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Mon, 1 Dec 2008 16:51:59 +0000 Subject: [PATCH] - Pass the directory of the file to ShellExecuteExW svn path=/trunk/; revision=37797 --- reactos/dll/win32/shell32/shv_def_cmenu.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/reactos/dll/win32/shell32/shv_def_cmenu.c b/reactos/dll/win32/shell32/shv_def_cmenu.c index 2a31c11eab9..ea3662cc39b 100644 --- a/reactos/dll/win32/shell32/shv_def_cmenu.c +++ b/reactos/dll/win32/shell32/shv_def_cmenu.c @@ -1506,6 +1506,7 @@ DoStaticShellExtensions( { STRRET strFile; WCHAR szPath[MAX_PATH]; + WCHAR szDir[MAX_PATH]; SHELLEXECUTEINFOW sei; PStaticShellEntry pCurrent = This->shead; int verb = LOWORD(lpcmi->lpVerb) - This->iIdSCMFirst; @@ -1527,6 +1528,8 @@ DoStaticShellExtensions( if (StrRetToBufW(&strFile, This->dcm.apidl[0], szPath, MAX_PATH) != S_OK) return E_FAIL; + wcscpy(szDir, szPath); + PathRemoveFileSpec(szDir); ZeroMemory(&sei, sizeof(sei)); sei.cbSize = sizeof(sei); @@ -1536,6 +1539,7 @@ DoStaticShellExtensions( sei.nShow = SW_SHOWNORMAL; sei.lpVerb = pCurrent->szVerb; sei.lpFile = szPath; + sei.lpDirectory = szDir; ShellExecuteExW(&sei); return S_OK;