Author: dquintana
Date: Tue Oct 7 14:45:32 2014
New Revision: 64579
URL:
http://svn.reactos.org/svn/reactos?rev=64579&view=rev
Log:
[RSHELL]
* Work around shellexecute not handling GUID path components by giving them to explorer as
a cmdline parameter.
* NOTE: The Printers and Faxes option is temporarily disabled because it CRASHES
explorer-new.
Modified:
branches/shell-experiments/base/shell/rshell/CStartMenu.cpp
Modified: branches/shell-experiments/base/shell/rshell/CStartMenu.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/shell-experiments/base/shell/rs…
==============================================================================
--- branches/shell-experiments/base/shell/rshell/CStartMenu.cpp [iso-8859-1] (original)
+++ branches/shell-experiments/base/shell/rshell/CStartMenu.cpp [iso-8859-1] Tue Oct 7
14:45:32 2014
@@ -221,12 +221,21 @@
HRESULT OnExec(LPSMDATA psmd)
{
+ // H H A CCC K K ! ! !
+ // H H A A C C K K ! ! !
+ // HHHHH AAAAA C KKK ! ! !
+ // H H A A C C K K ! ! !
+ // H H A A CCC K K . . .
+ //
+ // HACK: Instead of running explorer.exe with the path, we should be using
ShellExecute to "open" the path directly!
+ // Remove once ShellExecute can handle CLSID path components.
+
if (psmd->uId == IDM_CONTROLPANEL)
- ShellExecuteW(NULL, L"open",
L"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{21EC2020-3AEA-1069-A2DD-08002B30309D}",
NULL, NULL, 1);
+ ShellExecuteW(NULL, NULL, L"explorer.exe",
L"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{21EC2020-3AEA-1069-A2DD-08002B30309D}",
NULL, SW_SHOWNORMAL);
else if (psmd->uId == IDM_NETWORKCONNECTIONS)
- ShellExecuteW(NULL, L"open",
L"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{7007ACC7-3202-11D1-AAD2-00805FC1270E}",
NULL, NULL, 1);
+ ShellExecuteW(NULL, NULL, L"explorer.exe",
L"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{7007ACC7-3202-11D1-AAD2-00805FC1270E}",
NULL, SW_SHOWNORMAL);
else if (psmd->uId == IDM_PRINTERSANDFAXES)
- ShellExecuteW(NULL, L"open",
L"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{2227A280-3AEA-1069-A2DE-08002B30309D}",
NULL, NULL, 1);
+ {}/* FIXME: crashes: ShellExecuteW(NULL, NULL, L"explorer.exe",
L"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{2227A280-3AEA-1069-A2DE-08002B30309D}",
NULL, SW_SHOWNORMAL);*/
else
PostMessageW(m_hwndTray, WM_COMMAND, psmd->uId, 0);