ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
August 2017
----- 2024 -----
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
22 participants
262 discussions
Start a n
N
ew thread
[tfaber] 75536: [USETUP] - Include some actually useful information when printing errors
by tfaber@svn.reactos.org
Author: tfaber Date: Mon Aug 14 16:01:46 2017 New Revision: 75536 URL:
http://svn.reactos.org/svn/reactos?rev=75536&view=rev
Log: [USETUP] - Include some actually useful information when printing errors Modified: trunk/reactos/base/setup/usetup/cabinet.c Modified: trunk/reactos/base/setup/usetup/cabinet.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/cabinet.…
============================================================================== --- trunk/reactos/base/setup/usetup/cabinet.c [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/cabinet.c [iso-8859-1] Mon Aug 14 16:01:46 2017 @@ -544,7 +544,7 @@ if (!NT_SUCCESS(NtStatus)) { - DPRINT1("NtCreateSection failed: %x\n", NtStatus); + DPRINT1("NtCreateSection failed for %ls: %x\n", CabinetName, NtStatus); return CAB_STATUS_NOMEMORY; } @@ -954,7 +954,7 @@ if (!NT_SUCCESS(NtStatus)) { - DPRINT1("NtCreateSection failed: %x\n", NtStatus); + DPRINT1("NtCreateSection failed for %ls, %x\n", DestName, NtStatus); Status = CAB_STATUS_NOMEMORY; goto CloseDestFile; }
7 years, 2 months
1
0
0
0
[gadamopoulos] 75535: [COMCTL32] -DrawShadowText: Don't print an error when GdiAlphaBlend fails. This can happen when the painting is outside the clip region. Some themes tend to move text elements...
by gadamopoulos@svn.reactos.org
Author: gadamopoulos Date: Mon Aug 14 15:51:12 2017 New Revision: 75535 URL:
http://svn.reactos.org/svn/reactos?rev=75535&view=rev
Log: [COMCTL32] -DrawShadowText: Don't print an error when GdiAlphaBlend fails. This can happen when the painting is outside the clip region. Some themes tend to move text elements in weird places so as just to hide them so this only causes spam. Modified: trunk/reactos/dll/win32/comctl32/commctrl.c Modified: trunk/reactos/dll/win32/comctl32/commctrl.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/commctr…
============================================================================== --- trunk/reactos/dll/win32/comctl32/commctrl.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/comctl32/commctrl.c [iso-8859-1] Mon Aug 14 15:51:12 2017 @@ -1950,8 +1950,7 @@ bf.BlendFlags = 0; bf.SourceConstantAlpha = 255; bf.AlphaFormat = AC_SRC_ALPHA; - if (!GdiAlphaBlend(hdc, prc->left + ixOffset, prc->top + iyOffset, bi.bmiHeader.biWidth, bi.bmiHeader.biHeight, hdcMem, 0, 0, bi.bmiHeader.biWidth, bi.bmiHeader.biHeight, bf)) - ERR("GdiAlphaBlend failed: %lu\n", GetLastError()); + GdiAlphaBlend(hdc, prc->left + ixOffset, prc->top + iyOffset, bi.bmiHeader.biWidth, bi.bmiHeader.biHeight, hdcMem, 0, 0, bi.bmiHeader.biWidth, bi.bmiHeader.biHeight, bf); /* Delete the helper bitmap */ SelectObject(hdcMem, hbmOld);
7 years, 2 months
1
0
0
0
[ekohl] 75534: missing german translation and sort treeview alphabetically Patches by: reactosfanboy and Katayama Hierofumi MZ CORE-13674 #resolve #comment Thanks a lot!
by ekohl@svn.reactos.org
Author: ekohl Date: Mon Aug 14 15:40:15 2017 New Revision: 75534 URL:
http://svn.reactos.org/svn/reactos?rev=75534&view=rev
Log: missing german translation and sort treeview alphabetically Patches by: reactosfanboy and Katayama Hierofumi MZ CORE-13674 #resolve #comment Thanks a lot! Modified: trunk/reactos/boot/bootdata/hivesft.inf trunk/reactos/dll/win32/shell32/dialogs/folder_options.cpp trunk/reactos/dll/win32/shell32/lang/de-DE.rc Modified: trunk/reactos/boot/bootdata/hivesft.inf URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/hivesft.inf?…
============================================================================== --- trunk/reactos/boot/bootdata/hivesft.inf [iso-8859-1] (original) +++ trunk/reactos/boot/bootdata/hivesft.inf [iso-8859-1] Mon Aug 14 15:40:15 2017 @@ -126,7 +126,6 @@ HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder","Text",0x00000000,"@shell32.dll,-30498" HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder","Bitmap",0x00020000,"%SystemRoot%\system32\SHELL32.dll,4" HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder","HelpID",0x00000000,"shell.hlp#51140" -HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder","Ordinal",0x00010001,0 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ClassicViewState",,0x00000012 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ClassicViewState","Type",0x00000000,"checkbox" @@ -138,7 +137,6 @@ HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ClassicViewState","UncheckedValue",0x00010001,0x00000001 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ClassicViewState","DefaultValue",0x00010001,0x00000000 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ClassicViewState","HelpID",0x00000000,"shell.hlp#51076" -HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ClassicViewState","Ordinal",0x00010001,14 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ControlPanelInMyComputer",,0x00000012 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ControlPanelInMyComputer","RegPath",0x00000000,"Software\Microsoft\Windows\CurrentVersion\Explorer\HideMyComputerIcons" @@ -150,7 +148,6 @@ HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ControlPanelInMyComputer","DefaultValue",0x00010001,0x00000001 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ControlPanelInMyComputer","HKeyRoot",0x00010001,0x80000001 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ControlPanelInMyComputer","HelpID",0x00000000,"shell.hlp#51150" -HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ControlPanelInMyComputer","Ordinal",0x00010001,16 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\DesktopProcess",,0x00000012 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\DesktopProcess","Type",0x00000000,"checkbox" @@ -162,7 +159,6 @@ HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\DesktopProcess","UncheckedValue",0x00010001,0x00000000 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\DesktopProcess","DefaultValue",0x00010001,0x00000000 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\DesktopProcess","HelpID",0x00000000,"shell.hlp#51079" -HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\DesktopProcess","Ordinal",0x00010001,13 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\DesktopProcess\Policy",,0x00000012 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\DesktopProcess\Policy\SeparateProcess",,0x00000012 @@ -177,7 +173,6 @@ HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\DisableThumbCache","UncheckedValue",0x00010001,0x00000000 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\DisableThumbCache","DefaultValue",0x00010001,0x00000000 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\DisableThumbCache","HelpID",0x00000000,"shell.hlp#51155" -HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\DisableThumbCache","Ordinal",0x00010001,7 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\FolderSizeTip",,0x00000012 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\FolderSizeTip","Type",0x00000000,"checkbox" @@ -188,7 +183,6 @@ HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\FolderSizeTip","CheckedValue",0x00010001,0x00000001 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\FolderSizeTip","UncheckedValue",0x00010001,0x00000000 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\FolderSizeTip","DefaultValue",0x00010001,0x00000001 -HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\FolderSizeTip","Ordinal",0x00010001,2 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\FriendlyTree",,0x00000012 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\FriendlyTree","Type",0x00000000,"checkbox" @@ -200,14 +194,12 @@ HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\FriendlyTree","UncheckedValue",0x00010001,0x00000000 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\FriendlyTree","HelpID",0x00000000,"shell.hlp#51149" HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\FriendlyTree","DefaultValue",0x00010001,0x00000001 -HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\FriendlyTree","Ordinal",0x00010001,3 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden",,0x00000012 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden","Text",0x00000000,"@shell32.dll,-30499" HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden","Type",0x00000000,"group" HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden","Bitmap",0x00020000,"%SystemRoot%\system32\SHELL32.dll,4" HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden","HelpID",0x00000000,"shell.hlp#51131" -HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden","Ordinal",0x00010001,8 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\NOHIDDEN",,0x00000012 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\NOHIDDEN","RegPath",0x00000000,"Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" @@ -218,7 +210,6 @@ HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\NOHIDDEN","DefaultValue",0x00010001,0x00000002 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\NOHIDDEN","HKeyRoot",0x00010001,0x80000001 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\NOHIDDEN","HelpID",0x00000000,"shell.hlp#51104" -HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\NOHIDDEN","Ordinal",0x00010001,9 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL",,0x00000012 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL","RegPath",0x00000000,"Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" @@ -229,7 +220,6 @@ HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL","DefaultValue",0x00010001,0x00000002 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL","HKeyRoot",0x00010001,0x80000001 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL","HelpID",0x00000000,"shell.hlp#51105" -HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL","Ordinal",0x00010001,10 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\HideFileExt",,0x00000012 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\HideFileExt","Type",0x00000000,"checkbox" @@ -241,7 +231,6 @@ HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\HideFileExt","UncheckedValue",0x00010001,0x00000000 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\HideFileExt","DefaultValue",0x00010001,0x00000000 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\HideFileExt","HelpID",0x00000000,"" -HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\HideFileExt","Ordinal",0x00010001,11 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\NetCrawler",,0x00000012 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\NetCrawler","Type",0x00000000,"checkbox" @@ -253,7 +242,6 @@ HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\NetCrawler","UncheckedValue",0x00010001,0x00000001 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\NetCrawler","DefaultValue",0x00010001,0x00000000 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\NetCrawler","HelpID",0x00000000,"shell.hlp#51147" -HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\NetCrawler","Ordinal",0x00010001,1 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\NetCrawler\Policy",,0x00000012 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\NetCrawler\Policy\NoNetCrawling",,0x00000012 @@ -268,7 +256,6 @@ HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\PersistBrowsers","UncheckedValue",0x00010001,0x00000000 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\PersistBrowsers","HelpID",0x00000000,"shell.hlp#51152" HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\PersistBrowsers","DefaultValue",0x00010001,0x00000000 -HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\PersistBrowsers","Ordinal",0x00010001,15 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowCompColor",,0x00000012 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowCompColor","Type",0x00000000,"checkbox" @@ -280,7 +267,6 @@ HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowCompColor","UncheckedValue",0x00010001,0x00000000 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowCompColor","DefaultValue",0x00010001,0x00000001 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowCompColor","HelpID",0x00000000,"shell.hlp#51130" -HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowCompColor","Ordinal",0x00010001,17 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowFullPath",,0x00000012 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowFullPath","Type",0x00000000,"checkbox" @@ -292,7 +278,6 @@ HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowFullPath","UncheckedValue",0x00010001,0x00000000 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowFullPath","DefaultValue",0x00010001,0x00000000 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowFullPath","HelpID",0x00000000,"shell.hlp#51100" -HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowFullPath","Ordinal",0x00010001,6 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowFullPathAddress",,0x00000012 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowFullPathAddress","Type",0x00000000,"checkbox" @@ -304,7 +289,6 @@ HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowFullPathAddress","UncheckedValue",0x00010001,0x00000000 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowFullPathAddress","DefaultValue",0x00010001,0x00000001 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowFullPathAddress","HelpID",0x00000000,"shell.hlp#51107" -HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowFullPathAddress","Ordinal",0x00010001,5 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowInfoTip",,0x00000012 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowInfoTip","Type",0x00000000,"checkbox" @@ -316,7 +300,6 @@ HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowInfoTip","UncheckedValue",0x00010001,0x00000000 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowInfoTip","DefaultValue",0x00010001,0x00000001 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowInfoTip","HelpID",0x00000000,"shell.hlp#51102" -HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\ShowInfoTip","Ordinal",0x00010001,18 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SuperHidden",,0x00000012 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SuperHidden","Type",0x00000000,"checkbox" @@ -329,7 +312,6 @@ HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SuperHidden","UncheckedValue",0x00010001,0x00000001 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SuperHidden","DefaultValue",0x00010001,0x00000000 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SuperHidden","HelpID",0x00000000,"shell.hlp#51103" -HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SuperHidden","Ordinal",0x00010001,12 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SuperHidden\Policy",,0x00000012 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SuperHidden\Policy\DontShowSuperHidden",,0x00000012 @@ -344,7 +326,6 @@ HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\WebViewBarricade","UncheckedValue",0x00010001,0x00000000 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\WebViewBarricade","HelpID",0x00000000,"shell.hlp#51148" HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\WebViewBarricade","DefaultValue",0x00010001,0x00000000 -HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\WebViewBarricade","Ordinal",0x00010001,4 ; Common shell folders HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders",,0x00000012 Modified: trunk/reactos/dll/win32/shell32/dialogs/folder_options.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/dialogs/…
============================================================================== --- trunk/reactos/dll/win32/shell32/dialogs/folder_options.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/dialogs/folder_options.cpp [iso-8859-1] Mon Aug 14 15:40:15 2017 @@ -137,7 +137,6 @@ DWORD dwResourceID; // resource ID WCHAR szKeyName[64]; // entry key name DWORD dwType; // ADVANCED_ENTRY_TYPE - DWORD dwOrdinal; // ordinal number WCHAR szText[MAX_PATH]; // text INT nIconID; // icon ID (See ADVANCED_ICON) @@ -419,7 +418,7 @@ { ADVANCED_ENTRY *pParent = Advanced_GetItem(pEntry->dwParentID); HTREEITEM hParent = TVI_ROOT; - if (pParent != NULL) + if (pParent) hParent = pParent->hItem; TV_INSERTSTRUCT Insertion; @@ -540,12 +539,6 @@ pEntry->nIconID = Advanced_AddIcon(szExpanded, nIconIndex); } - // Ordinal (ReactOS extension) - Size = sizeof(Value); - Value = DWORD(-1); - RegQueryValueExW(hKey, L"Ordinal", NULL, NULL, LPBYTE(&Value), &Size); - pEntry->dwOrdinal = Value; - if (pEntry->dwType == AETYPE_GROUP) { pEntry->hkeyRoot = NULL; @@ -710,11 +703,25 @@ { ADVANCED_ENTRY *pEntry1 = (ADVANCED_ENTRY *)x; ADVANCED_ENTRY *pEntry2 = (ADVANCED_ENTRY *)y; - if (pEntry1->dwOrdinal < pEntry2->dwOrdinal) - return -1; - if (pEntry1->dwOrdinal > pEntry2->dwOrdinal) - return 1; - return 0; + DWORD dwParentID1 = pEntry1->dwParentID; + DWORD dwParentID2 = pEntry2->dwParentID; + while (dwParentID1 != dwParentID2) + { + ADVANCED_ENTRY *pParent1 = Advanced_GetItem(dwParentID1); + ADVANCED_ENTRY *pParent2 = Advanced_GetItem(dwParentID2); + if (!pParent1 && !pParent2) + break; + if (!pParent1 && pParent2) + return -1; + if (pParent1 && !pParent2) + return 1; + INT nCompare = lstrcmpi(pParent1->szText, pParent2->szText); + if (nCompare) + return nCompare; + dwParentID1 = pParent1->dwParentID; + dwParentID2 = pParent2->dwParentID; + } + return lstrcmpi(pEntry1->szText, pEntry2->szText); } static VOID Modified: trunk/reactos/dll/win32/shell32/lang/de-DE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/de-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/de-DE.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/de-DE.rc [iso-8859-1] Mon Aug 14 15:40:15 2017 @@ -833,23 +833,23 @@ IDS_OBJECTS "%d Objekte" IDS_OBJECTS_SELECTED "%d Objekte ausgewählt" - IDS_ADVANCED_FOLDER "Files and Folders" - IDS_ADVANCED_NET_CRAWLER "Automatically search for network folders and printers" - IDS_ADVANCED_FOLDER_SIZE_TIP "Display file size information in folder tips" - IDS_ADVANCED_FRIENDLY_TREE "Display simple folder view in Explorer's Folders list" - IDS_ADVANCED_WEB_VIEW_BARRICADE "Display the contents of system folders" - IDS_ADVANCED_SHOW_FULL_PATH_ADDRESS "Display the full path in address bar" - IDS_ADVANCED_SHOW_FULL_PATH "Display the full path in the title bar" - IDS_ADVANCED_DISABLE_THUMB_CACHE "Do not cache thumbnails" - IDS_ADVANCED_HIDDEN "Hidden files and folders" - IDS_ADVANCED_DONT_SHOW_HIDDEN "Do not show hidden files and folders" - IDS_ADVANCED_SHOW_HIDDEN "Show hidden files and folders" - IDS_ADVANCED_HIDE_FILE_EXT "Hide extensions for known file types" - IDS_ADVANCED_SUPER_HIDDEN "Hide protected operating system files (Recommended)" - IDS_ADVANCED_DESKTOP_PROCESS "Launch folder windows in a separate process" - IDS_ADVANCED_CLASSIC_VIEW_STATE "Remember each folder's view settings" - IDS_ADVANCED_PERSIST_BROWSERS "Restore previous folder windows at logon" - IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Show Control Panel in My Computer" - IDS_ADVANCED_SHOW_COMP_COLOR "Show encrypted or compressed NTFS files in color" - IDS_ADVANCED_SHOW_INFO_TIP "Show pop-up description for folder and desktop items" -END + IDS_ADVANCED_FOLDER "Dateien und Ordner" + IDS_ADVANCED_NET_CRAWLER "Automatisch nach Netzwerkordnern und Druckern suchen" + IDS_ADVANCED_FOLDER_SIZE_TIP "DateigröÃeninformationen in Ordnertipps anzeigen" + IDS_ADVANCED_FRIENDLY_TREE "Einfache Ordneransicht in der Ordnerliste des Explorers anzeigen" + IDS_ADVANCED_WEB_VIEW_BARRICADE "Inhalte von Systemordnern anzeigen" + IDS_ADVANCED_SHOW_FULL_PATH_ADDRESS "Vollständigen Pfad in Adressleiste anzeigen" + IDS_ADVANCED_SHOW_FULL_PATH "Vollständigen Pfad in Titelleiste anzeigen" + IDS_ADVANCED_DISABLE_THUMB_CACHE "Miniaturansichten nicht zwischenspeichern" + IDS_ADVANCED_HIDDEN "Versteckte Dateien und Ordner" + IDS_ADVANCED_DONT_SHOW_HIDDEN "Versteckte Dateien und Ordner ausblenden" + IDS_ADVANCED_SHOW_HIDDEN "Alle Dateien und Ordner anzeigen" + IDS_ADVANCED_HIDE_FILE_EXT "Erweiterungen bei bekannten Dateitypen ausblenden" + IDS_ADVANCED_SUPER_HIDDEN "Geschützte Systemdateien ausblenden (empfohlen)" + IDS_ADVANCED_DESKTOP_PROCESS "Ordnerfenster in einem eigenen Prozess starten" + IDS_ADVANCED_CLASSIC_VIEW_STATE "Ansichtsoptionen für jeden Ordner speichern" + IDS_ADVANCED_PERSIST_BROWSERS "Vorherige Ordnerfenster bei der Anmeldung wiederherstellen" + IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Systemsteuerung unter Arbeitsplatz einblenden" + IDS_ADVANCED_SHOW_COMP_COLOR "Verschlüsselte oder komprimierte NTFS-Dateien farbig anzeigen" + IDS_ADVANCED_SHOW_INFO_TIP "Popupinformationen für Ordner- und Desktop-Elemente anzeigen" +END
7 years, 2 months
1
0
0
0
[gadamopoulos] 75533: [SHELL32] - CDefaultContextMenu: Make it respect the IContextMenu interface and expect menu id offsets instead of real menu ids and actually use the idCmdFirst and idCmdLast p...
by gadamopoulos@svn.reactos.org
Author: gadamopoulos Date: Mon Aug 14 15:25:58 2017 New Revision: 75533 URL:
http://svn.reactos.org/svn/reactos?rev=75533&view=rev
Log: [SHELL32] - CDefaultContextMenu: Make it respect the IContextMenu interface and expect menu id offsets instead of real menu ids and actually use the idCmdFirst and idCmdLast parameters in QueryContextMenu. Make the default part use and existed menu from the resources but changed accordingly so the ids of its elements can be adjusted to the next free id of the constructed menu. Rename InsertMenuItemsOfDynamicContextMenuExtension to AddShellExtensionsToMenu, DoDynamicShellExtensions to InvokeShellExt, and DoStaticShellExtensions to InvokeRegVerb. Make AddShellExtensionsToMenu and AddStaticContextMenusToMenu behave like QueryContextMenu to return the number of ids they occupy. Add two helpers SHGetMenuIdFromMenuMsg and SHSetMenuIdInMenuMsg to change the id that is contained in the lparam of WM_DRAWITEM and WM_MEASUREITEM before forwarding them. - CDefView: When calling QueryContextMenu before using TrackPopupMenu, use 1 as the first id that will filled by the IContextMenu because we want 0 to be used as an indicator that the menu was canceled. Use SHGetMenuIdFromMenuMsg and SHSetMenuIdInMenuMsg to change the lparam of the messages forwarded to the IContextMenu accordingly. - CDefViewBckgrndMenu: Add a hack so as to keep the code as simple as possible while respecting idCmdFirst and idCmdLast. - CNewMenu: Remove a hack that was needed because WM_DRAWITEM didn't come with the menu id offset but with the real menu id. - CDesktopFolder, CFSFolder: Make the callbacks avoid adding an extra separators. After that shell extensions in menus should work better and callbacks to shell folders should really be able to add several menu items. Modified: trunk/reactos/dll/win32/shell32/CDefView.cpp trunk/reactos/dll/win32/shell32/CDefViewBckgrndMenu.cpp trunk/reactos/dll/win32/shell32/CDefaultContextMenu.cpp trunk/reactos/dll/win32/shell32/CNewMenu.cpp trunk/reactos/dll/win32/shell32/CNewMenu.h trunk/reactos/dll/win32/shell32/folders/CDesktopFolder.cpp trunk/reactos/dll/win32/shell32/folders/CFSFolder.cpp trunk/reactos/dll/win32/shell32/lang/bg-BG.rc trunk/reactos/dll/win32/shell32/lang/ca-ES.rc trunk/reactos/dll/win32/shell32/lang/cs-CZ.rc trunk/reactos/dll/win32/shell32/lang/da-DK.rc trunk/reactos/dll/win32/shell32/lang/de-DE.rc trunk/reactos/dll/win32/shell32/lang/el-GR.rc trunk/reactos/dll/win32/shell32/lang/en-GB.rc trunk/reactos/dll/win32/shell32/lang/en-US.rc trunk/reactos/dll/win32/shell32/lang/es-ES.rc trunk/reactos/dll/win32/shell32/lang/fi-FI.rc trunk/reactos/dll/win32/shell32/lang/fr-FR.rc trunk/reactos/dll/win32/shell32/lang/he-IL.rc trunk/reactos/dll/win32/shell32/lang/hu-HU.rc trunk/reactos/dll/win32/shell32/lang/it-IT.rc trunk/reactos/dll/win32/shell32/lang/ja-JP.rc trunk/reactos/dll/win32/shell32/lang/ko-KR.rc trunk/reactos/dll/win32/shell32/lang/nl-NL.rc trunk/reactos/dll/win32/shell32/lang/no-NO.rc trunk/reactos/dll/win32/shell32/lang/pl-PL.rc trunk/reactos/dll/win32/shell32/lang/pt-BR.rc trunk/reactos/dll/win32/shell32/lang/pt-PT.rc trunk/reactos/dll/win32/shell32/lang/ro-RO.rc trunk/reactos/dll/win32/shell32/lang/ru-RU.rc trunk/reactos/dll/win32/shell32/lang/sk-SK.rc trunk/reactos/dll/win32/shell32/lang/sl-SI.rc trunk/reactos/dll/win32/shell32/lang/sq-AL.rc trunk/reactos/dll/win32/shell32/lang/sv-SE.rc trunk/reactos/dll/win32/shell32/lang/tr-TR.rc trunk/reactos/dll/win32/shell32/lang/uk-UA.rc trunk/reactos/dll/win32/shell32/lang/zh-CN.rc trunk/reactos/dll/win32/shell32/lang/zh-TW.rc trunk/reactos/dll/win32/shell32/shresdef.h Modified: trunk/reactos/dll/win32/shell32/CDefView.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/CDefView…
============================================================================== --- trunk/reactos/dll/win32/shell32/CDefView.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/CDefView.cpp [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -52,6 +52,10 @@ } LISTVIEW_SORT_INFO, *LPLISTVIEW_SORT_INFO; #define SHV_CHANGE_NOTIFY WM_USER + 0x1111 + +/* For the context menu of the def view, the id of the items are based on 1 because we need + to call TrackPopupMenu and let it use the 0 value as an indication that the menu was canceled */ +#define CONTEXT_MENU_BASE_ID 1 class CDefView : public CWindowImpl<CDefView, CWindow, CControlWinTraits>, @@ -1272,7 +1276,7 @@ IUnknown_SetSite(m_pCM, (IShellView *)this); - hResult = m_pCM->QueryContextMenu(hMenu, 0, 0x20, 0x7fff, CMF_DEFAULTONLY); + hResult = m_pCM->QueryContextMenu(hMenu, 0, FCIDM_SHVIEWFIRST, FCIDM_SHVIEWLAST, CMF_DEFAULTONLY); if (FAILED_UNEXPECTEDLY(hResult)) goto cleanup; @@ -1325,7 +1329,8 @@ IUnknown_SetSite(m_pCM, (IShellView *)this); - hResult = m_pCM->QueryContextMenu(m_hContextMenu, 0, FCIDM_SHVIEWFIRST, FCIDM_SHVIEWLAST, CMF_NORMAL); + /* Use 1 as the first id as we want 0 the mean that the user canceled the menu */ + hResult = m_pCM->QueryContextMenu(m_hContextMenu, 0, CONTEXT_MENU_BASE_ID, FCIDM_SHVIEWLAST, CMF_NORMAL); if (FAILED_UNEXPECTEDLY(hResult)) goto cleanup; @@ -1338,7 +1343,7 @@ if (uCommand == FCIDM_SHVIEW_OPEN && OnDefaultCommand() == S_OK) goto cleanup; - InvokeContextMenuCommand(uCommand); + InvokeContextMenuCommand(uCommand - CONTEXT_MENU_BASE_ID); cleanup: if (m_pCM) @@ -1600,7 +1605,7 @@ return OnExplorerCommand(dwCmdID, FALSE); default: /* WM_COMMAND messages from the file menu are routed to the CDefView so as to let m_pCM handle the command */ - if (m_pCM) + if (m_pCM && dwCmd == 0) { InvokeContextMenuCommand(dwCmdID); } @@ -1955,6 +1960,9 @@ return TRUE; } +HRESULT SHGetMenuIdFromMenuMsg(UINT uMsg, LPARAM lParam, UINT *CmdId); +HRESULT SHSetMenuIdInMenuMsg(UINT uMsg, LPARAM lParam, UINT CmdId); + /********************************************************** * CDefView::OnCustomItem */ @@ -1967,12 +1975,18 @@ return FALSE; } + /* The lParam of WM_DRAWITEM WM_MEASUREITEM contain a menu id and this also needs to + be changed to a menu identifier offset */ + UINT CmdID; + HRESULT hres = SHGetMenuIdFromMenuMsg(uMsg, lParam, &CmdID); + if (SUCCEEDED(hres)) + SHSetMenuIdInMenuMsg(uMsg, lParam, CmdID - CONTEXT_MENU_BASE_ID); + + /* Forward the message to the IContextMenu2 */ LRESULT result; - HRESULT hres = SHForwardContextMenuMsg(m_pCM, uMsg, wParam, lParam, &result, TRUE); - if (SUCCEEDED(hres)) - return TRUE; - else - return FALSE; + hres = SHForwardContextMenuMsg(m_pCM, uMsg, wParam, lParam, &result, TRUE); + + return (SUCCEEDED(hres)); } LRESULT CDefView::OnSettingChange(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) Modified: trunk/reactos/dll/win32/shell32/CDefViewBckgrndMenu.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/CDefView…
============================================================================== --- trunk/reactos/dll/win32/shell32/CDefViewBckgrndMenu.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/CDefViewBckgrndMenu.cpp [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -20,6 +20,9 @@ CComPtr<IShellFolder> m_psf; CComPtr<IContextMenu> m_folderCM; + UINT m_idCmdFirst; + UINT m_LastFolderCMId; + BOOL _bIsDesktopBrowserMenu(); BOOL _bCanPaste(); public: @@ -52,6 +55,8 @@ CDefViewBckgrndMenu::CDefViewBckgrndMenu() { + m_idCmdFirst = 0; + m_LastFolderCMId = 0; } CDefViewBckgrndMenu::~CDefViewBckgrndMenu() @@ -135,6 +140,39 @@ { HRESULT hr; HMENU hMenuPart; + UINT cIds = 0; + + /* This is something the implementations of IContextMenu should never really do. + However CDefViewBckgrndMenu is more or less an overengineering result, its code could really be part of the + CDefView. Given this, I think that abusing the interface here is not that bad since only CDefView is the ony + user of this class. Here we need to do two things to keep things as simple as possible. + First we want the menu part added by the shell folder to be the first to add so as to make as few id translations + as possible. Second, we want to add the default part of the background menu without shifted ids, so as + to let the CDefView fill some parts like filling the arrange modes or checking the view mode. In order + for that to work we need to save idCmdFirst because our caller will pass id offsets to InvokeCommand. + This makes it impossible to concatenate the CDefViewBckgrndMenu with other menus since it abuses IContextMenu + but as stated above, its sole user is CDefView and should really be that way. */ + m_idCmdFirst = idCmdFirst; + + /* Query the shell folder to add any items it wants to add in the background context menu */ + hr = m_psf->CreateViewObject(NULL, IID_PPV_ARG(IContextMenu, &m_folderCM)); + if (SUCCEEDED(hr)) + { + hr = m_folderCM->QueryContextMenu(hMenu, indexMenu, idCmdFirst, idCmdLast, uFlags); + if (SUCCEEDED(hr)) + { + m_LastFolderCMId = LOWORD(hr); + cIds = m_LastFolderCMId; + } + else + { + WARN("QueryContextMenu failed!\n"); + } + } + else + { + WARN("GetUIObjectOf didn't give any context menu!\n"); + } /* Load the default part of the background context menu */ hMenuPart = LoadMenuW(shell32_hInstance, L"MENU_002"); @@ -154,8 +192,7 @@ } /* merge general background context menu in */ - Shell_MergeMenus(hMenu, GetSubMenu(hMenuPart, 0), indexMenu, 0, 0xFFFF, MM_DONTREMOVESEPS | MM_SUBMENUSHAVEIDS); - indexMenu += GetMenuItemCount(GetSubMenu(hMenuPart, 0)); + Shell_MergeMenus(hMenu, GetSubMenu(hMenuPart, 0), indexMenu, 0, idCmdLast, MM_DONTREMOVESEPS | MM_SUBMENUSHAVEIDS | MM_ADDSEPARATOR); DestroyMenu(hMenuPart); } else @@ -163,52 +200,24 @@ ERR("Failed to load menu from resource!\n"); } - /* Query the shell folder to add any items it wants to add in the background context menu */ - hMenuPart = CreatePopupMenu(); - if (hMenuPart) - { - hr = m_psf->CreateViewObject(NULL, IID_PPV_ARG(IContextMenu, &m_folderCM)); - if (SUCCEEDED(hr)) - { - InsertMenuA(hMenu, indexMenu++, MF_BYPOSITION | MF_SEPARATOR, 0, NULL); - UINT SeparatorIndex = indexMenu; - int count = GetMenuItemCount(hMenu); - - hr = m_folderCM->QueryContextMenu(hMenu, indexMenu, idCmdFirst, idCmdLast, uFlags); - if (SUCCEEDED(hr)) - { - //Shell_MergeMenus(hMenu, hMenuPart, indexMenu, 0, UINT_MAX, MM_ADDSEPARATOR| MM_DONTREMOVESEPS | MM_SUBMENUSHAVEIDS); - //DestroyMenu(hMenuPart); - } - else - { - WARN("QueryContextMenu failed!\n"); - } - - /* If no item was added after the separator, remove it */ - if (count == GetMenuItemCount(hMenu)) - DeleteMenu(hMenu, SeparatorIndex, MF_BYPOSITION); - - } - else - { - WARN("GetUIObjectOf didn't give any context menu!\n"); - } - } - else - { - ERR("CreatePopupMenu failed!\n"); - } - - return S_OK; + return MAKE_HRESULT(SEVERITY_SUCCESS, 0, cIds); } HRESULT WINAPI CDefViewBckgrndMenu::InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi) { + UINT idCmd = LOWORD(lpcmi->lpVerb); + if(HIWORD(lpcmi->lpVerb) != 0 || idCmd < m_LastFolderCMId) + { + return m_folderCM->InvokeCommand(lpcmi); + } + + /* The default part of the background menu doesn't have shifted ids so we need to convert the id offset to the real id */ + idCmd += m_idCmdFirst; + /* The commands that are handled by the def view are forwarded to it */ - switch (LOWORD(lpcmi->lpVerb)) + switch (idCmd) { case FCIDM_SHVIEW_BIGICON: case FCIDM_SHVIEW_SMALLICON: @@ -232,13 +241,12 @@ HWND hwndSV = NULL; if (SUCCEEDED(psv->GetWindow(&hwndSV))) - SendMessageW(hwndSV, WM_COMMAND, MAKEWPARAM(LOWORD(lpcmi->lpVerb), 0), 0); + SendMessageW(hwndSV, WM_COMMAND, MAKEWPARAM(idCmd, 0), 0); return S_OK; } - /* Unknown commands are added by the folder context menu so forward the invocation */ - return m_folderCM->InvokeCommand(lpcmi); - + ERR("Got unknown command id %ul\n", LOWORD(lpcmi->lpVerb)); + return E_FAIL; } HRESULT Modified: trunk/reactos/dll/win32/shell32/CDefaultContextMenu.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/CDefault…
============================================================================== --- trunk/reactos/dll/win32/shell32/CDefaultContextMenu.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/CDefaultContextMenu.cpp [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -78,6 +78,8 @@ UINT m_iIdSCMLast; /* last static used id */ UINT m_iIdCBFirst; /* first callback used id */ UINT m_iIdCBLast; /* last callback used id */ + UINT m_iIdDfltFirst; /* first default part id */ + UINT m_iIdDfltLast; /* last default part id */ HRESULT _DoCallback(UINT uMsg, WPARAM wParam, LPVOID lParam); void AddStaticEntry(const HKEY hkeyClass, const WCHAR *szVerb); @@ -85,8 +87,8 @@ BOOL IsShellExtensionAlreadyLoaded(const CLSID *pclsid); HRESULT LoadDynamicContextMenuHandler(HKEY hKey, const CLSID *pclsid); BOOL EnumerateDynamicContextHandlerForKey(HKEY hRootKey); - UINT InsertMenuItemsOfDynamicContextMenuExtension(HMENU hMenu, UINT IndexMenu, UINT idCmdFirst, UINT idCmdLast); - UINT AddStaticContextMenusToMenu(HMENU hMenu, UINT IndexMenu, UINT iIdCmdFirst, UINT iIdCmdLast); + UINT AddShellExtensionsToMenu(HMENU hMenu, UINT* pIndexMenu, UINT idCmdFirst, UINT idCmdLast); + UINT AddStaticContextMenusToMenu(HMENU hMenu, UINT* IndexMenu, UINT iIdCmdFirst, UINT iIdCmdLast); HRESULT DoPaste(LPCMINVOKECOMMANDINFO lpcmi, BOOL bLink); HRESULT DoOpenOrExplore(LPCMINVOKECOMMANDINFO lpcmi); HRESULT DoCreateLink(LPCMINVOKECOMMANDINFO lpcmi); @@ -95,8 +97,8 @@ HRESULT DoRename(LPCMINVOKECOMMANDINFO lpcmi); HRESULT DoProperties(LPCMINVOKECOMMANDINFO lpcmi); HRESULT DoCreateNewFolder(LPCMINVOKECOMMANDINFO lpici); - HRESULT DoDynamicShellExtensions(LPCMINVOKECOMMANDINFO lpcmi); - HRESULT DoStaticShellExtensions(LPCMINVOKECOMMANDINFO lpcmi); + HRESULT InvokeShellExt(LPCMINVOKECOMMANDINFO lpcmi); + HRESULT InvokeRegVerb(LPCMINVOKECOMMANDINFO lpcmi); DWORD BrowserFlagsFromVerb(LPCMINVOKECOMMANDINFO lpcmi, PStaticShellEntry pEntry); HRESULT TryToBrowse(LPCMINVOKECOMMANDINFO lpcmi, LPCITEMIDLIST pidl, DWORD wFlags); HRESULT InvokePidl(LPCMINVOKECOMMANDINFO lpcmi, LPCITEMIDLIST pidl, PStaticShellEntry pEntry); @@ -149,7 +151,10 @@ m_iIdSCMFirst(0), m_iIdSCMLast(0), m_iIdCBFirst(0), - m_iIdCBLast(0) + m_iIdCBLast(0), + m_iIdDfltFirst(0), + m_iIdDfltLast(0) + { } @@ -463,47 +468,38 @@ } UINT -CDefaultContextMenu::InsertMenuItemsOfDynamicContextMenuExtension(HMENU hMenu, UINT IndexMenu, UINT idCmdFirst, UINT idCmdLast) -{ +CDefaultContextMenu::AddShellExtensionsToMenu(HMENU hMenu, UINT* pIndexMenu, UINT idCmdFirst, UINT idCmdLast) +{ + UINT cIds = 0; + if (!m_pDynamicEntries) - { - m_iIdSHEFirst = 0; - m_iIdSHELast = 0; - return IndexMenu; - } + return cIds; PDynamicShellEntry pEntry = m_pDynamicEntries; - m_iIdSHEFirst = idCmdFirst; do { - HRESULT hr = pEntry->pCM->QueryContextMenu(hMenu, IndexMenu++, idCmdFirst, idCmdLast, CMF_NORMAL); + HRESULT hr = pEntry->pCM->QueryContextMenu(hMenu, *pIndexMenu, idCmdFirst + cIds, idCmdLast, CMF_NORMAL); if (SUCCEEDED(hr)) { - pEntry->iIdCmdFirst = idCmdFirst; + pEntry->iIdCmdFirst = cIds; pEntry->NumIds = LOWORD(hr); - IndexMenu += pEntry->NumIds; - idCmdFirst += pEntry->NumIds + 0x10; - - if(idCmdFirst >= idCmdLast) - { - /* There is no more room for items */ - idCmdFirst = idCmdLast; + (*pIndexMenu) += pEntry->NumIds; + + cIds += pEntry->NumIds; + if(idCmdFirst + cIds >= idCmdLast) break; - } } TRACE("pEntry %p hr %x contextmenu %p cmdfirst %x num ids %x\n", pEntry, hr, pEntry->pCM, pEntry->iIdCmdFirst, pEntry->NumIds); pEntry = pEntry->pNext; } while (pEntry); - m_iIdSHELast = idCmdFirst; - TRACE("SH_LoadContextMenuHandlers first %x last %x\n", m_iIdSHEFirst, m_iIdSHELast); - return IndexMenu; + return cIds; } UINT CDefaultContextMenu::AddStaticContextMenusToMenu( HMENU hMenu, - UINT IndexMenu, + UINT* pIndexMenu, UINT iIdCmdFirst, UINT iIdCmdLast) { @@ -511,13 +507,12 @@ UINT idResource; WCHAR wszVerb[40]; UINT fState; + UINT cIds = 0; mii.cbSize = sizeof(mii); mii.fMask = MIIM_ID | MIIM_TYPE | MIIM_STATE | MIIM_DATA; mii.fType = MFT_STRING; - mii.wID = iIdCmdFirst; mii.dwTypeData = NULL; - m_iIdSCMFirst = mii.wID; PStaticShellEntry pEntry = m_pStaticEntries; @@ -596,17 +591,18 @@ mii.cch = wcslen(mii.dwTypeData); mii.fState = fState; - InsertMenuItemW(hMenu, IndexMenu++, TRUE, &mii); - - mii.wID++; + mii.wID = iIdCmdFirst + cIds; + InsertMenuItemW(hMenu, *pIndexMenu, TRUE, &mii); + (*pIndexMenu)++; + cIds++; + pEntry = pEntry->pNext; if (mii.wID >= iIdCmdLast) break; } - m_iIdSCMLast = mii.wID - 1; - return IndexMenu; + return cIds; } void WINAPI _InsertMenuItemW( @@ -659,10 +655,7 @@ { HRESULT hr; UINT idCmdNext = idCmdFirst; - - /* Add a tiny hack to make all the shell happy until we understand how we should handle 0 ids */ - if (!idCmdNext) - idCmdNext = 1; + UINT cIds = 0; TRACE("BuildShellItemContextMenu entered\n"); @@ -674,92 +667,69 @@ } /* Add static context menu handlers */ - IndexMenu = AddStaticContextMenusToMenu(hMenu, IndexMenu, idCmdNext, idCmdLast); - if (m_iIdSCMLast && m_iIdSCMFirst > m_iIdSCMLast) - m_iIdSCMLast = m_iIdSCMFirst = 0; - else if (m_iIdSCMLast) - idCmdNext = m_iIdSCMLast + 1; + cIds = AddStaticContextMenusToMenu(hMenu, &IndexMenu, idCmdFirst, idCmdLast); + m_iIdSCMFirst = 0; + m_iIdSCMLast = cIds; + idCmdNext = idCmdFirst + cIds; /* Add dynamic context menu handlers */ - BOOL bAddSep = FALSE; - IndexMenu = InsertMenuItemsOfDynamicContextMenuExtension(hMenu, IndexMenu, idCmdNext, idCmdLast); - if (m_iIdSHELast && m_iIdSHELast != m_iIdSHEFirst) - idCmdNext = m_iIdSHELast + 1; + cIds += AddShellExtensionsToMenu(hMenu, &IndexMenu, idCmdNext, idCmdLast); + m_iIdSHEFirst = m_iIdSCMLast; + m_iIdSHELast = cIds; + idCmdNext = idCmdFirst + cIds; + TRACE("SH_LoadContextMenuHandlers first %x last %x\n", m_iIdSHEFirst, m_iIdSHELast); /* Now let the callback add its own items */ QCMINFO qcminfo = {hMenu, IndexMenu, idCmdNext, idCmdLast, NULL}; if (SUCCEEDED(_DoCallback(DFM_MERGECONTEXTMENU, uFlags, &qcminfo))) { - m_iIdCBFirst = idCmdNext; - m_iIdCBLast = qcminfo.idCmdFirst; - idCmdNext = m_iIdCBLast + 1; - } - - /* The rest of the items will be added in the end of the menu */ - IndexMenu = GetMenuItemCount(hMenu); + cIds += qcminfo.idCmdFirst; + IndexMenu += qcminfo.idCmdFirst; + m_iIdCBFirst = m_iIdSHELast; + m_iIdCBLast = cIds; + idCmdNext = idCmdFirst + cIds; + } if (uFlags & CMF_VERBSONLY) - return MAKE_HRESULT(SEVERITY_SUCCESS, 0, idCmdNext - idCmdFirst); + return MAKE_HRESULT(SEVERITY_SUCCESS, 0, cIds); /* If this is a background context menu we are done */ if (!m_cidl) - return MAKE_HRESULT(SEVERITY_SUCCESS, 0, idCmdNext - idCmdFirst); + return MAKE_HRESULT(SEVERITY_SUCCESS, 0, cIds); /* Get the attributes of the items */ SFGAOF rfg = SFGAO_BROWSABLE | SFGAO_CANCOPY | SFGAO_CANLINK | SFGAO_CANMOVE | SFGAO_CANDELETE | SFGAO_CANRENAME | SFGAO_HASPROPSHEET | SFGAO_FILESYSTEM | SFGAO_FOLDER; hr = m_psf->GetAttributesOf(m_cidl, m_apidl, &rfg); if (FAILED_UNEXPECTEDLY(hr)) - return MAKE_HRESULT(SEVERITY_SUCCESS, 0, idCmdNext - idCmdFirst); - - /* Add the standard menu entries based on the attributes of the items */ - BOOL bClipboardData = (HasClipboardData() && (rfg & SFGAO_FILESYSTEM)); - if (rfg & (SFGAO_CANCOPY | SFGAO_CANMOVE) || bClipboardData) - { - _InsertMenuItemW(hMenu, IndexMenu++, TRUE, 0, MFT_SEPARATOR, NULL, 0); - if (rfg & SFGAO_CANMOVE) - _InsertMenuItemW(hMenu, IndexMenu++, TRUE, FCIDM_SHVIEW_CUT, MFT_STRING, MAKEINTRESOURCEW(IDS_CUT), MFS_ENABLED); - if (rfg & SFGAO_CANCOPY) - _InsertMenuItemW(hMenu, IndexMenu++, TRUE, FCIDM_SHVIEW_COPY, MFT_STRING, MAKEINTRESOURCEW(IDS_COPY), MFS_ENABLED); - if (bClipboardData) - _InsertMenuItemW(hMenu, IndexMenu++, TRUE, FCIDM_SHVIEW_INSERT, MFT_STRING, MAKEINTRESOURCEW(IDS_PASTE), MFS_ENABLED); - - bAddSep = TRUE; - } - - if (rfg & SFGAO_CANLINK) - { - bAddSep = FALSE; - _InsertMenuItemW(hMenu, IndexMenu++, TRUE, 0, MFT_SEPARATOR, NULL, 0); - _InsertMenuItemW(hMenu, IndexMenu++, TRUE, FCIDM_SHVIEW_CREATELINK, MFT_STRING, MAKEINTRESOURCEW(IDS_CREATELINK), MFS_ENABLED); - } - - if (rfg & SFGAO_CANDELETE) - { - if (bAddSep) - { - bAddSep = FALSE; - _InsertMenuItemW(hMenu, IndexMenu++, TRUE, 0, MFT_SEPARATOR, NULL, 0); - } - _InsertMenuItemW(hMenu, IndexMenu++, TRUE, FCIDM_SHVIEW_DELETE, MFT_STRING, MAKEINTRESOURCEW(IDS_DELETE), MFS_ENABLED); - } - - if (rfg & SFGAO_CANRENAME) - { - if (bAddSep) - { - _InsertMenuItemW(hMenu, IndexMenu++, TRUE, 0, MFT_SEPARATOR, NULL, 0); - } - _InsertMenuItemW(hMenu, IndexMenu++, TRUE, FCIDM_SHVIEW_RENAME, MFT_STRING, MAKEINTRESOURCEW(IDS_RENAME), MFS_ENABLED); - bAddSep = TRUE; - } - - if (rfg & SFGAO_HASPROPSHEET) - { - _InsertMenuItemW(hMenu, IndexMenu++, TRUE, 0, MFT_SEPARATOR, NULL, 0); - _InsertMenuItemW(hMenu, IndexMenu++, TRUE, FCIDM_SHVIEW_PROPERTIES, MFT_STRING, MAKEINTRESOURCEW(IDS_PROPERTIES), MFS_ENABLED); - } - - return S_OK; + return MAKE_HRESULT(SEVERITY_SUCCESS, 0, cIds); + + /* Add the default part of the menu */ + HMENU hmenuDefault = LoadMenu(_AtlBaseModule.GetResourceInstance(), L"MENU_SHV_FILE"); + + /* Remove uneeded entries */ + if (!(rfg & SFGAO_CANMOVE)) + DeleteMenu(hmenuDefault, IDM_CUT, MF_BYCOMMAND); + if (!(rfg & SFGAO_CANCOPY)) + DeleteMenu(hmenuDefault, IDM_COPY, MF_BYCOMMAND); + if (!((rfg & SFGAO_FILESYSTEM) && HasClipboardData())) + DeleteMenu(hmenuDefault, IDM_INSERT, MF_BYCOMMAND); + if (!(rfg & SFGAO_CANLINK)) + DeleteMenu(hmenuDefault, IDM_CREATELINK, MF_BYCOMMAND); + if (!(rfg & SFGAO_CANDELETE)) + DeleteMenu(hmenuDefault, IDM_DELETE, MF_BYCOMMAND); + if (!(rfg & SFGAO_CANRENAME)) + DeleteMenu(hmenuDefault, IDM_RENAME, MF_BYCOMMAND); + if (!(rfg & SFGAO_HASPROPSHEET)) + DeleteMenu(hmenuDefault, IDM_PROPERTIES, MF_BYCOMMAND); + + UINT idMax = Shell_MergeMenus(hMenu, GetSubMenu(hmenuDefault, 0), IndexMenu, idCmdNext, idCmdLast, 0); + m_iIdDfltFirst = cIds; + cIds += idMax - idCmdNext; + m_iIdDfltLast = cIds; + + DestroyMenu(hmenuDefault); + + return MAKE_HRESULT(SEVERITY_SUCCESS, 0, cIds); } HRESULT CDefaultContextMenu::DoPaste(LPCMINVOKECOMMANDINFO lpcmi, BOOL bLink) @@ -967,7 +937,7 @@ { PDynamicShellEntry pEntry = m_pDynamicEntries; - while(pEntry && idCmd > pEntry->iIdCmdFirst + pEntry->NumIds) + while(pEntry && idCmd >= pEntry->iIdCmdFirst + pEntry->NumIds) pEntry = pEntry->pNext; if (!pEntry) @@ -1016,7 +986,7 @@ } HRESULT -CDefaultContextMenu::DoDynamicShellExtensions( +CDefaultContextMenu::InvokeShellExt( LPCMINVOKECOMMANDINFO lpcmi) { TRACE("verb %p first %x last %x\n", lpcmi->lpVerb, m_iIdSHEFirst, m_iIdSHELast); @@ -1134,7 +1104,7 @@ } HRESULT -CDefaultContextMenu::DoStaticShellExtensions( +CDefaultContextMenu::InvokeRegVerb( LPCMINVOKECOMMANDINFO lpcmi) { PStaticShellEntry pEntry = m_pStaticEntries; @@ -1198,8 +1168,37 @@ LocalInvokeInfo.lpVerb = MAKEINTRESOURCEA(CmdId); } + CmdId = LOWORD(LocalInvokeInfo.lpVerb); + + if (m_pDynamicEntries && CmdId >= m_iIdSHEFirst && CmdId < m_iIdSHELast) + { + LocalInvokeInfo.lpVerb -= m_iIdSHEFirst; + Result = InvokeShellExt(&LocalInvokeInfo); + return Result; + } + + if (m_pStaticEntries && CmdId >= m_iIdSCMFirst && CmdId < m_iIdSCMLast) + { + LocalInvokeInfo.lpVerb -= m_iIdSCMFirst; + Result = InvokeRegVerb(&LocalInvokeInfo); + return Result; + } + + if (m_iIdCBFirst != m_iIdCBLast && CmdId >= m_iIdCBFirst && CmdId < m_iIdCBLast) + { + Result = _DoCallback(DFM_INVOKECOMMAND, CmdId - m_iIdCBFirst, NULL); + return Result; + } + + if (m_iIdDfltFirst != m_iIdDfltLast && CmdId >= m_iIdDfltFirst && CmdId < m_iIdDfltLast) + { + CmdId -= m_iIdDfltFirst; + /* See the definitions of IDM_CUT and co to see how this works */ + CmdId += 0x7000; + } + /* Check if this is a Id */ - switch (LOWORD(LocalInvokeInfo.lpVerb)) + switch (CmdId) { case FCIDM_SHVIEW_INSERT: Result = DoPaste(&LocalInvokeInfo, FALSE); @@ -1232,33 +1231,9 @@ break; default: Result = E_UNEXPECTED; + ERR("Unhandled Verb %xl\n", LOWORD(LocalInvokeInfo.lpVerb)); break; } - - /* Check for ID's we didn't find a handler for */ - if (Result == E_UNEXPECTED) - { - if (m_pDynamicEntries) - { - if (LOWORD(LocalInvokeInfo.lpVerb) >= m_iIdSHEFirst && LOWORD(LocalInvokeInfo.lpVerb) <= m_iIdSHELast) - Result = DoDynamicShellExtensions(&LocalInvokeInfo); - } - - if (m_pStaticEntries) - { - if (LOWORD(LocalInvokeInfo.lpVerb) >= m_iIdSCMFirst && LOWORD(LocalInvokeInfo.lpVerb) <= m_iIdSCMLast) - Result = DoStaticShellExtensions(&LocalInvokeInfo); - } - - if (m_iIdCBFirst != m_iIdCBLast) - { - if (LOWORD(LocalInvokeInfo.lpVerb) >= m_iIdCBFirst && LOWORD(LocalInvokeInfo.lpVerb) <= m_iIdCBLast) - Result = _DoCallback(DFM_INVOKECOMMAND, LOWORD(LocalInvokeInfo.lpVerb), NULL); - } - } - - if (Result == E_UNEXPECTED) - ERR("Unhandled Verb %xl\n", LOWORD(LocalInvokeInfo.lpVerb)); return Result; } @@ -1315,6 +1290,42 @@ return S_OK; } +HRESULT SHGetMenuIdFromMenuMsg(UINT uMsg, LPARAM lParam, UINT *CmdId) +{ + if (uMsg == WM_DRAWITEM) + { + DRAWITEMSTRUCT* pDrawStruct = reinterpret_cast<DRAWITEMSTRUCT*>(lParam); + *CmdId = pDrawStruct->itemID; + return S_OK; + } + else if (uMsg == WM_MEASUREITEM) + { + MEASUREITEMSTRUCT* pMeasureStruct = reinterpret_cast<MEASUREITEMSTRUCT*>(lParam); + *CmdId = pMeasureStruct->itemID; + return S_OK; + } + + return E_FAIL; +} + +HRESULT SHSetMenuIdInMenuMsg(UINT uMsg, LPARAM lParam, UINT CmdId) +{ + if (uMsg == WM_DRAWITEM) + { + DRAWITEMSTRUCT* pDrawStruct = reinterpret_cast<DRAWITEMSTRUCT*>(lParam); + pDrawStruct->itemID = CmdId; + return S_OK; + } + else if (uMsg == WM_MEASUREITEM) + { + MEASUREITEMSTRUCT* pMeasureStruct = reinterpret_cast<MEASUREITEMSTRUCT*>(lParam); + pMeasureStruct->itemID = CmdId; + return S_OK; + } + + return E_FAIL; +} + HRESULT WINAPI CDefaultContextMenu::HandleMenuMsg2( @@ -1323,9 +1334,7 @@ LPARAM lParam, LRESULT *plResult) { - switch (uMsg) - { - case WM_INITMENUPOPUP: + if (uMsg == WM_INITMENUPOPUP) { PDynamicShellEntry pEntry = m_pDynamicEntries; while (pEntry) @@ -1333,30 +1342,25 @@ SHForwardContextMenuMsg(pEntry->pCM, uMsg, wParam, lParam, plResult, TRUE); pEntry = pEntry->pNext; } - break; - } - case WM_DRAWITEM: - { - DRAWITEMSTRUCT* pDrawStruct = reinterpret_cast<DRAWITEMSTRUCT*>(lParam); - PDynamicShellEntry pEntry = GetDynamicEntry(pDrawStruct->itemID); - if (pEntry) - SHForwardContextMenuMsg(pEntry->pCM, uMsg, wParam, lParam, plResult, TRUE); - break; - } - case WM_MEASUREITEM: - { - MEASUREITEMSTRUCT* pMeasureStruct = reinterpret_cast<MEASUREITEMSTRUCT*>(lParam); - PDynamicShellEntry pEntry = GetDynamicEntry(pMeasureStruct->itemID); - if (pEntry) - SHForwardContextMenuMsg(pEntry->pCM, uMsg, wParam, lParam, plResult, TRUE); - break; - } - case WM_MENUCHAR : - /* FIXME */ - break; - default: - ERR("Got unknown message:%d\n", uMsg); - } + return S_OK; + } + + UINT CmdId; + HRESULT hr = SHGetMenuIdFromMenuMsg(uMsg, lParam, &CmdId); + if (FAILED(hr)) + return S_FALSE; + + if (CmdId < m_iIdSHEFirst || CmdId >= m_iIdSHELast) + return S_FALSE; + + CmdId -= m_iIdSHEFirst; + PDynamicShellEntry pEntry = GetDynamicEntry(CmdId); + if (pEntry) + { + SHSetMenuIdInMenuMsg(uMsg, lParam, CmdId - pEntry->iIdCmdFirst); + SHForwardContextMenuMsg(pEntry->pCM, uMsg, wParam, lParam, plResult, TRUE); + } + return S_OK; } Modified: trunk/reactos/dll/win32/shell32/CNewMenu.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/CNewMenu…
============================================================================== --- trunk/reactos/dll/win32/shell32/CNewMenu.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/CNewMenu.cpp [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -31,8 +31,7 @@ m_pLinkItem(NULL), m_pSite(NULL), m_hiconFolder(NULL), - m_hiconLink(NULL), - m_idCmdFirst(0) + m_hiconLink(NULL) { } @@ -614,8 +613,6 @@ MENUITEMINFOW mii; UINT cItems = 0; - m_idCmdFirst = idCmdFirst; - TRACE("%p %p %u %u %u %u\n", this, hMenu, indexMenu, idCmdFirst, idCmdLast, uFlags); @@ -711,7 +708,7 @@ if (!lpdis || lpdis->CtlType != ODT_MENU) break; - DWORD id = LOWORD(lpdis->itemID) - m_idCmdFirst; + DWORD id = LOWORD(lpdis->itemID); HICON hIcon = 0; if (id == 0) hIcon = m_hiconFolder; Modified: trunk/reactos/dll/win32/shell32/CNewMenu.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/CNewMenu…
============================================================================== --- trunk/reactos/dll/win32/shell32/CNewMenu.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/CNewMenu.h [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -60,7 +60,6 @@ CComPtr<IUnknown> m_pSite; HMENU m_hSubMenu; HICON m_hiconFolder, m_hiconLink; - UINT m_idCmdFirst; SHELLNEW_ITEM *LoadItem(LPCWSTR pwszExt); void UnloadItem(SHELLNEW_ITEM *pItem); Modified: trunk/reactos/dll/win32/shell32/folders/CDesktopFolder.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/folders/…
============================================================================== --- trunk/reactos/dll/win32/shell32/folders/CDesktopFolder.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/folders/CDesktopFolder.cpp [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -840,7 +840,7 @@ /* no data object means no selection */ if (!pdtobj) { - if (uMsg == DFM_INVOKECOMMAND && wParam == DFM_CMD_PROPERTIES) + if (uMsg == DFM_INVOKECOMMAND && wParam == 0) { if (32 >= (UINT)ShellExecuteW(hwndOwner, L"open", L"rundll32.exe shell32.dll,Control_RunDLL desk.cpl", NULL, NULL, SW_SHOWNORMAL)) return E_FAIL; @@ -849,8 +849,10 @@ else if (uMsg == DFM_MERGECONTEXTMENU) { QCMINFO *pqcminfo = (QCMINFO *)lParam; - _InsertMenuItemW(pqcminfo->hmenu, pqcminfo->indexMenu++, TRUE, 0, MFT_SEPARATOR, NULL, 0); - _InsertMenuItemW(pqcminfo->hmenu, pqcminfo->indexMenu++, TRUE, FCIDM_SHVIEW_PROPERTIES, MFT_STRING, MAKEINTRESOURCEW(IDS_PROPERTIES), MFS_ENABLED); + HMENU hpopup = CreatePopupMenu(); + _InsertMenuItemW(hpopup, 0, TRUE, 0, MFT_STRING, MAKEINTRESOURCEW(IDS_PROPERTIES), MFS_ENABLED); + Shell_MergeMenus(pqcminfo->hmenu, hpopup, pqcminfo->indexMenu++, pqcminfo->idCmdFirst, pqcminfo->idCmdLast, MM_ADDSEPARATOR); + DestroyMenu(hpopup); } return S_OK; Modified: trunk/reactos/dll/win32/shell32/folders/CFSFolder.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/folders/…
============================================================================== --- trunk/reactos/dll/win32/shell32/folders/CFSFolder.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/folders/CFSFolder.cpp [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -1500,7 +1500,7 @@ /* no data object means no selection */ if (!pdtobj) { - if (uMsg == DFM_INVOKECOMMAND && wParam == DFM_CMD_PROPERTIES) + if (uMsg == DFM_INVOKECOMMAND && wParam == 0) { PUITEMID_CHILD pidlChild = ILClone(ILFindLastID(pidlRoot)); LPITEMIDLIST pidlParent = ILClone(pidlRoot); @@ -1514,8 +1514,10 @@ else if (uMsg == DFM_MERGECONTEXTMENU) { QCMINFO *pqcminfo = (QCMINFO *)lParam; - _InsertMenuItemW(pqcminfo->hmenu, pqcminfo->indexMenu++, TRUE, 0, MFT_SEPARATOR, NULL, 0); - _InsertMenuItemW(pqcminfo->hmenu, pqcminfo->indexMenu++, TRUE, FCIDM_SHVIEW_PROPERTIES, MFT_STRING, MAKEINTRESOURCEW(IDS_PROPERTIES), MFS_ENABLED); + HMENU hpopup = CreatePopupMenu(); + _InsertMenuItemW(hpopup, 0, TRUE, 0, MFT_STRING, MAKEINTRESOURCEW(IDS_PROPERTIES), MFS_ENABLED); + Shell_MergeMenus(pqcminfo->hmenu, hpopup, pqcminfo->indexMenu++, pqcminfo->idCmdFirst, pqcminfo->idCmdLast, MM_ADDSEPARATOR); + DestroyMenu(hpopup); } return S_OK; Modified: trunk/reactos/dll/win32/shell32/lang/bg-BG.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/bg-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/bg-BG.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/bg-BG.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -63,17 +63,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "&ÐбзоÑ", FCIDM_SHVIEW_EXPLORE - MENUITEM "Ð&ÑваÑÑне", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "Ðз&ÑÑзване", FCIDM_SHVIEW_CUT - MENUITEM "Ðа&помнÑне", FCIDM_SHVIEW_COPY + MENUITEM "Ðз&ÑÑзване", IDM_CUT + MENUITEM "Ðа&помнÑне", IDM_COPY MENUITEM SEPARATOR - MENUITEM "СÑздаване на &вÑÑзка", FCIDM_SHVIEW_CREATELINK - MENUITEM "Ðз&ÑÑиване", FCIDM_SHVIEW_DELETE - MENUITEM "ÐÑе&именÑване", FCIDM_SHVIEW_RENAME + MENUITEM "СÑздаване на &вÑÑзка", IDM_CREATELINK + MENUITEM "Ðз&ÑÑиване", IDM_DELETE + MENUITEM "ÐÑе&именÑване", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "&СвойÑÑва", FCIDM_SHVIEW_PROPERTIES + MENUITEM "&СвойÑÑва", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/ca-ES.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/ca-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/ca-ES.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/ca-ES.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -63,17 +63,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "E&xplore", FCIDM_SHVIEW_EXPLORE - MENUITEM "&Open", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "C&ut", FCIDM_SHVIEW_CUT - MENUITEM "&Copy", FCIDM_SHVIEW_COPY + MENUITEM "C&ut", IDM_CUT + MENUITEM "&Copy", IDM_COPY MENUITEM SEPARATOR - MENUITEM "Create &Link", FCIDM_SHVIEW_CREATELINK - MENUITEM "&Delete", FCIDM_SHVIEW_DELETE - MENUITEM "&Rename", FCIDM_SHVIEW_RENAME + MENUITEM "Create &Link", IDM_CREATELINK + MENUITEM "&Delete", IDM_DELETE + MENUITEM "&Rename", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "&Properties", FCIDM_SHVIEW_PROPERTIES + MENUITEM "&Properties", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/cs-CZ.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/cs-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/cs-CZ.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/cs-CZ.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -69,17 +69,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "P&rozkoumat", FCIDM_SHVIEW_EXPLORE - MENUITEM "O&tevÅÃt", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "Vyj&mout", FCIDM_SHVIEW_CUT - MENUITEM "&KopÃrovat", FCIDM_SHVIEW_COPY + MENUITEM "Vyj&mout", IDM_CUT + MENUITEM "&KopÃrovat", IDM_COPY MENUITEM SEPARATOR - MENUITEM "VytvoÅit zástupc&e", FCIDM_SHVIEW_CREATELINK - MENUITEM "O&dstranit", FCIDM_SHVIEW_DELETE - MENUITEM "&PÅejmenovat", FCIDM_SHVIEW_RENAME + MENUITEM "VytvoÅit zástupc&e", IDM_CREATELINK + MENUITEM "O&dstranit", IDM_DELETE + MENUITEM "&PÅejmenovat", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "&Vlastnosti", FCIDM_SHVIEW_PROPERTIES + MENUITEM "&Vlastnosti", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/da-DK.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/da-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/da-DK.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/da-DK.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -69,17 +69,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "E&xplore", FCIDM_SHVIEW_EXPLORE - MENUITEM "&à bn", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "K&lip", FCIDM_SHVIEW_CUT - MENUITEM "&Kopiere", FCIDM_SHVIEW_COPY + MENUITEM "K&lip", IDM_CUT + MENUITEM "&Kopiere", IDM_COPY MENUITEM SEPARATOR - MENUITEM "Opret &Link", FCIDM_SHVIEW_CREATELINK - MENUITEM "&Slet", FCIDM_SHVIEW_DELETE - MENUITEM "&Omdøb", FCIDM_SHVIEW_RENAME + MENUITEM "Opret &Link", IDM_CREATELINK + MENUITEM "&Slet", IDM_DELETE + MENUITEM "&Omdøb", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "&Egenskabe", FCIDM_SHVIEW_PROPERTIES + MENUITEM "&Egenskabe", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/de-DE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/de-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/de-DE.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/de-DE.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -63,17 +63,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "E&xplorer", FCIDM_SHVIEW_EXPLORE - MENUITEM "&Ãffnen", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "&Ausschneiden", FCIDM_SHVIEW_CUT - MENUITEM "&Kopieren", FCIDM_SHVIEW_COPY + MENUITEM "&Ausschneiden", IDM_CUT + MENUITEM "&Kopieren", IDM_COPY MENUITEM SEPARATOR - MENUITEM "&Verknüpfung erstellen", FCIDM_SHVIEW_CREATELINK - MENUITEM "&Löschen", FCIDM_SHVIEW_DELETE - MENUITEM "&Umbenennen", FCIDM_SHVIEW_RENAME + MENUITEM "&Verknüpfung erstellen", IDM_CREATELINK + MENUITEM "&Löschen", IDM_DELETE + MENUITEM "&Umbenennen", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "&Eigenschaften", FCIDM_SHVIEW_PROPERTIES + MENUITEM "&Eigenschaften", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/el-GR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/el-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/el-GR.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/el-GR.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -63,17 +63,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "&ÎξεÏεÏνηÏη", FCIDM_SHVIEW_EXPLORE - MENUITEM "&Îνοιγμα", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "Î&ÏοκοÏή", FCIDM_SHVIEW_CUT - MENUITEM "Î&νÏιγÏαÏή", FCIDM_SHVIEW_COPY + MENUITEM "Î&ÏοκοÏή", IDM_CUT + MENUITEM "Î&νÏιγÏαÏή", IDM_COPY MENUITEM SEPARATOR - MENUITEM "ÎÎ·Î¼Î¹Î¿Ï Ïγία &ÏÏ Î½ÏÏÎ¼ÎµÏ ÏηÏ", FCIDM_SHVIEW_CREATELINK - MENUITEM "&ÎιαγÏαÏή", FCIDM_SHVIEW_DELETE - MENUITEM "&ÎεÏονομαÏία", FCIDM_SHVIEW_RENAME + MENUITEM "ÎÎ·Î¼Î¹Î¿Ï Ïγία &ÏÏ Î½ÏÏÎ¼ÎµÏ ÏηÏ", IDM_CREATELINK + MENUITEM "&ÎιαγÏαÏή", IDM_DELETE + MENUITEM "&ÎεÏονομαÏία", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "&ÎδιÏÏηÏεÏ", FCIDM_SHVIEW_PROPERTIES + MENUITEM "&ÎδιÏÏηÏεÏ", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/en-GB.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/en-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/en-GB.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/en-GB.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -63,17 +63,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "E&xplore", FCIDM_SHVIEW_EXPLORE - MENUITEM "&Open", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "C&ut", FCIDM_SHVIEW_CUT - MENUITEM "&Copy", FCIDM_SHVIEW_COPY + MENUITEM "C&ut", IDM_CUT + MENUITEM "&Copy", IDM_COPY MENUITEM SEPARATOR - MENUITEM "Create &Link", FCIDM_SHVIEW_CREATELINK - MENUITEM "&Delete", FCIDM_SHVIEW_DELETE - MENUITEM "&Rename", FCIDM_SHVIEW_RENAME + MENUITEM "Create &Link", IDM_CREATELINK + MENUITEM "&Delete", IDM_DELETE + MENUITEM "&Rename", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "&Properties", FCIDM_SHVIEW_PROPERTIES + MENUITEM "&Properties", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/en-US.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/en-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/en-US.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/en-US.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -63,17 +63,16 @@ BEGIN POPUP "" BEGIN - MENUITEM "E&xplore", FCIDM_SHVIEW_EXPLORE - MENUITEM "&Open", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "Cu&t", FCIDM_SHVIEW_CUT - MENUITEM "&Copy", FCIDM_SHVIEW_COPY + MENUITEM "Cu&t", IDM_CUT + MENUITEM "&Copy", IDM_COPY + MENUITEM "Paste", IDM_INSERT MENUITEM SEPARATOR - MENUITEM "Create &Link", FCIDM_SHVIEW_CREATELINK - MENUITEM "&Delete", FCIDM_SHVIEW_DELETE - MENUITEM "&Rename", FCIDM_SHVIEW_RENAME + MENUITEM "Create &Link", IDM_CREATELINK + MENUITEM "&Delete", IDM_DELETE + MENUITEM "&Rename", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "&Properties", FCIDM_SHVIEW_PROPERTIES + MENUITEM "&Properties", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/es-ES.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/es-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/es-ES.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/es-ES.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -65,17 +65,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "E&xplorar", FCIDM_SHVIEW_EXPLORE - MENUITEM "&Abrir", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "C&ortar", FCIDM_SHVIEW_CUT - MENUITEM "&Copiar", FCIDM_SHVIEW_COPY + MENUITEM "C&ortar", IDM_CUT + MENUITEM "&Copiar", IDM_COPY MENUITEM SEPARATOR - MENUITEM "C&rear acceso directo", FCIDM_SHVIEW_CREATELINK - MENUITEM "&Eliminar", FCIDM_SHVIEW_DELETE - MENUITEM "Re&nombrar", FCIDM_SHVIEW_RENAME + MENUITEM "C&rear acceso directo", IDM_CREATELINK + MENUITEM "&Eliminar", IDM_DELETE + MENUITEM "Re&nombrar", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "&Propiedades", FCIDM_SHVIEW_PROPERTIES + MENUITEM "&Propiedades", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/fi-FI.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/fi-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/fi-FI.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/fi-FI.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -63,17 +63,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "&Selaa", FCIDM_SHVIEW_EXPLORE - MENUITEM "&Avaa", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "&Leikkaa", FCIDM_SHVIEW_CUT - MENUITEM "&Kopioi", FCIDM_SHVIEW_COPY + MENUITEM "&Leikkaa", IDM_CUT + MENUITEM "&Kopioi", IDM_COPY MENUITEM SEPARATOR - MENUITEM "Lu&o Linkki", FCIDM_SHVIEW_CREATELINK - MENUITEM "&Poista", FCIDM_SHVIEW_DELETE - MENUITEM "&Nimeä Uudelleen", FCIDM_SHVIEW_RENAME + MENUITEM "Lu&o Linkki", IDM_CREATELINK + MENUITEM "&Poista", IDM_DELETE + MENUITEM "&Nimeä Uudelleen", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "&Ominaisuudet", FCIDM_SHVIEW_PROPERTIES + MENUITEM "&Ominaisuudet", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/fr-FR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/fr-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/fr-FR.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/fr-FR.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -63,17 +63,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "E&xplorer", FCIDM_SHVIEW_EXPLORE - MENUITEM "&Ouvrir", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "C&ouper", FCIDM_SHVIEW_CUT - MENUITEM "&Copier", FCIDM_SHVIEW_COPY + MENUITEM "C&ouper", IDM_CUT + MENUITEM "&Copier", IDM_COPY MENUITEM SEPARATOR - MENUITEM "Créer un &lien", FCIDM_SHVIEW_CREATELINK - MENUITEM "&Supprimer", FCIDM_SHVIEW_DELETE - MENUITEM "&Renommer", FCIDM_SHVIEW_RENAME + MENUITEM "Créer un &lien", IDM_CREATELINK + MENUITEM "&Supprimer", IDM_DELETE + MENUITEM "&Renommer", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "&Propriétés", FCIDM_SHVIEW_PROPERTIES + MENUITEM "&Propriétés", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/he-IL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/he-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/he-IL.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/he-IL.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -63,17 +63,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "ס××ר", FCIDM_SHVIEW_EXPLORE - MENUITEM "פת×", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "×××ר", FCIDM_SHVIEW_CUT - MENUITEM "×עתק", FCIDM_SHVIEW_COPY + MENUITEM "×××ר", IDM_CUT + MENUITEM "×עתק", IDM_COPY MENUITEM SEPARATOR - MENUITEM "צ×ר ק×ש×ר", FCIDM_SHVIEW_CREATELINK - MENUITEM "××ק", FCIDM_SHVIEW_DELETE - MENUITEM "×©× × ×©×", FCIDM_SHVIEW_RENAME + MENUITEM "צ×ר ק×ש×ר", IDM_CREATELINK + MENUITEM "××ק", IDM_DELETE + MENUITEM "×©× × ×©×", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "××פ××× ××", FCIDM_SHVIEW_PROPERTIES + MENUITEM "××פ××× ××", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/hu-HU.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/hu-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/hu-HU.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/hu-HU.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -63,17 +63,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "B&öngész", FCIDM_SHVIEW_EXPLORE - MENUITEM "Megnyit", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "Kivágás", FCIDM_SHVIEW_CUT - MENUITEM "Másolás", FCIDM_SHVIEW_COPY + MENUITEM "Kivágás", IDM_CUT + MENUITEM "Másolás", IDM_COPY MENUITEM SEPARATOR - MENUITEM "Parancsikon létrehozása", FCIDM_SHVIEW_CREATELINK - MENUITEM "Törlés", FCIDM_SHVIEW_DELETE - MENUITEM "Ãtnevezés", FCIDM_SHVIEW_RENAME + MENUITEM "Parancsikon létrehozása", IDM_CREATELINK + MENUITEM "Törlés", IDM_DELETE + MENUITEM "Ãtnevezés", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "Tulajdonságok", FCIDM_SHVIEW_PROPERTIES + MENUITEM "Tulajdonságok", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/it-IT.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/it-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/it-IT.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/it-IT.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -63,17 +63,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "E&splora", FCIDM_SHVIEW_EXPLORE - MENUITEM "&Apri", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "&Taglia", FCIDM_SHVIEW_CUT - MENUITEM "&Copia", FCIDM_SHVIEW_COPY + MENUITEM "&Taglia", IDM_CUT + MENUITEM "&Copia", IDM_COPY MENUITEM SEPARATOR - MENUITEM "&Crea Collegamento", FCIDM_SHVIEW_CREATELINK - MENUITEM "&Cancella", FCIDM_SHVIEW_DELETE - MENUITEM "&Rinomina", FCIDM_SHVIEW_RENAME + MENUITEM "&Crea Collegamento", IDM_CREATELINK + MENUITEM "&Cancella", IDM_DELETE + MENUITEM "&Rinomina", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "&Proprietà ", FCIDM_SHVIEW_PROPERTIES + MENUITEM "&Proprietà ", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/ja-JP.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/ja-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/ja-JP.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/ja-JP.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -63,17 +63,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "ã¨ã¯ã¹ããã¼ã©(&X)", FCIDM_SHVIEW_EXPLORE - MENUITEM "éã(&O)", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "åãåã(&U)", FCIDM_SHVIEW_CUT - MENUITEM "ã³ãã¼(&C)", FCIDM_SHVIEW_COPY + MENUITEM "åãåã(&U)", IDM_CUT + MENUITEM "ã³ãã¼(&C)", IDM_COPY MENUITEM SEPARATOR - MENUITEM "ã·ã§ã¼ãã«ããã®ä½æ(&L)", FCIDM_SHVIEW_CREATELINK - MENUITEM "åé¤(&D)", FCIDM_SHVIEW_DELETE - MENUITEM "ååã®å¤æ´(&R)", FCIDM_SHVIEW_RENAME + MENUITEM "ã·ã§ã¼ãã«ããã®ä½æ(&L)", IDM_CREATELINK + MENUITEM "åé¤(&D)", IDM_DELETE + MENUITEM "ååã®å¤æ´(&R)", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "ããããã£(&P)", FCIDM_SHVIEW_PROPERTIES + MENUITEM "ããããã£(&P)", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/ko-KR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/ko-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/ko-KR.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/ko-KR.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -63,17 +63,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "E&xplore", FCIDM_SHVIEW_EXPLORE - MENUITEM "&Open", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "C&ut", FCIDM_SHVIEW_CUT - MENUITEM "&Copy", FCIDM_SHVIEW_COPY + MENUITEM "C&ut", IDM_CUT + MENUITEM "&Copy", IDM_COPY MENUITEM SEPARATOR - MENUITEM "Create &Link", FCIDM_SHVIEW_CREATELINK - MENUITEM "&Delete", FCIDM_SHVIEW_DELETE - MENUITEM "&Rename", FCIDM_SHVIEW_RENAME + MENUITEM "Create &Link", IDM_CREATELINK + MENUITEM "&Delete", IDM_DELETE + MENUITEM "&Rename", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "&Properties", FCIDM_SHVIEW_PROPERTIES + MENUITEM "&Properties", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/nl-NL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/nl-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/nl-NL.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/nl-NL.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -63,17 +63,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "E&xplore", FCIDM_SHVIEW_EXPLORE - MENUITEM "&Open", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "C&ut", FCIDM_SHVIEW_CUT - MENUITEM "&Copy", FCIDM_SHVIEW_COPY + MENUITEM "C&ut", IDM_CUT + MENUITEM "&Copy", IDM_COPY MENUITEM SEPARATOR - MENUITEM "Create &Link", FCIDM_SHVIEW_CREATELINK - MENUITEM "&Delete", FCIDM_SHVIEW_DELETE - MENUITEM "&Rename", FCIDM_SHVIEW_RENAME + MENUITEM "Create &Link", IDM_CREATELINK + MENUITEM "&Delete", IDM_DELETE + MENUITEM "&Rename", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "&Properties", FCIDM_SHVIEW_PROPERTIES + MENUITEM "&Properties", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/no-NO.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/no-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/no-NO.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/no-NO.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -63,17 +63,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "&Utforsk", FCIDM_SHVIEW_EXPLORE - MENUITEM "&Ã pne", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "Klipp &ut", FCIDM_SHVIEW_CUT - MENUITEM "&Kopier", FCIDM_SHVIEW_COPY + MENUITEM "Klipp &ut", IDM_CUT + MENUITEM "&Kopier", IDM_COPY MENUITEM SEPARATOR - MENUITEM "&Opprett snarvei", FCIDM_SHVIEW_CREATELINK - MENUITEM "&Slett", FCIDM_SHVIEW_DELETE - MENUITEM "&Gi nytt navn", FCIDM_SHVIEW_RENAME + MENUITEM "&Opprett snarvei", IDM_CREATELINK + MENUITEM "&Slett", IDM_DELETE + MENUITEM "&Gi nytt navn", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "Egenska&per", FCIDM_SHVIEW_PROPERTIES + MENUITEM "Egenska&per", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/pl-PL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/pl-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/pl-PL.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/pl-PL.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -67,17 +67,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "&Eksploruj", FCIDM_SHVIEW_EXPLORE - MENUITEM "&Otwórz", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "&Wytnij", FCIDM_SHVIEW_CUT - MENUITEM "&Kopiuj", FCIDM_SHVIEW_COPY + MENUITEM "&Wytnij", IDM_CUT + MENUITEM "&Kopiuj", IDM_COPY MENUITEM SEPARATOR - MENUITEM "Utwórz &Skrót", FCIDM_SHVIEW_CREATELINK - MENUITEM "&UsuÅ", FCIDM_SHVIEW_DELETE - MENUITEM "&ZmieÅ nazwÄ", FCIDM_SHVIEW_RENAME + MENUITEM "Utwórz &Skrót", IDM_CREATELINK + MENUITEM "&UsuÅ", IDM_DELETE + MENUITEM "&ZmieÅ nazwÄ", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "WÅ&aÅciwoÅci", FCIDM_SHVIEW_PROPERTIES + MENUITEM "WÅ&aÅciwoÅci", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/pt-BR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/pt-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/pt-BR.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/pt-BR.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -63,17 +63,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "&Explorar", FCIDM_SHVIEW_EXPLORE - MENUITEM "A&brir", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "C&ortar", FCIDM_SHVIEW_CUT - MENUITEM "&Copiar", FCIDM_SHVIEW_COPY + MENUITEM "C&ortar", IDM_CUT + MENUITEM "&Copiar", IDM_COPY MENUITEM SEPARATOR - MENUITEM "Criar a&talho", FCIDM_SHVIEW_CREATELINK - MENUITEM "E&xcluir", FCIDM_SHVIEW_DELETE - MENUITEM "&Renomear", FCIDM_SHVIEW_RENAME + MENUITEM "Criar a&talho", IDM_CREATELINK + MENUITEM "E&xcluir", IDM_DELETE + MENUITEM "&Renomear", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "&Propriedades", FCIDM_SHVIEW_PROPERTIES + MENUITEM "&Propriedades", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/pt-PT.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/pt-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/pt-PT.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/pt-PT.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -63,17 +63,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "E&xplorador", FCIDM_SHVIEW_EXPLORE - MENUITEM "&Abrir", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "C&ortar", FCIDM_SHVIEW_CUT - MENUITEM "&Copiar", FCIDM_SHVIEW_COPY + MENUITEM "C&ortar", IDM_CUT + MENUITEM "&Copiar", IDM_COPY MENUITEM SEPARATOR - MENUITEM "Criar &Link", FCIDM_SHVIEW_CREATELINK - MENUITEM "&Apagar", FCIDM_SHVIEW_DELETE - MENUITEM "&Renomear", FCIDM_SHVIEW_RENAME + MENUITEM "Criar &Link", IDM_CREATELINK + MENUITEM "&Apagar", IDM_DELETE + MENUITEM "&Renomear", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "&Propriadades", FCIDM_SHVIEW_PROPERTIES + MENUITEM "&Propriadades", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/ro-RO.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/ro-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/ro-RO.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/ro-RO.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -65,17 +65,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "E&xploreazÄ", FCIDM_SHVIEW_EXPLORE - MENUITEM "Desc&hide", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "&DecupeazÄ", FCIDM_SHVIEW_CUT - MENUITEM "&CopiazÄ", FCIDM_SHVIEW_COPY + MENUITEM "&DecupeazÄ", IDM_CUT + MENUITEM "&CopiazÄ", IDM_COPY MENUITEM SEPARATOR - MENUITEM "CreazÄ sc&urtÄturÄ", FCIDM_SHVIEW_CREATELINK - MENUITEM "Èt&erge", FCIDM_SHVIEW_DELETE - MENUITEM "&RedenumeÈte", FCIDM_SHVIEW_RENAME + MENUITEM "CreazÄ sc&urtÄturÄ", IDM_CREATELINK + MENUITEM "Èt&erge", IDM_DELETE + MENUITEM "&RedenumeÈte", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "&ProprietÄÈi", FCIDM_SHVIEW_PROPERTIES + MENUITEM "&ProprietÄÈi", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/ru-RU.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/ru-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/ru-RU.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/ru-RU.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -65,17 +65,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "&ÐÑоводник", FCIDM_SHVIEW_EXPLORE - MENUITEM "&ÐÑкÑÑÑÑ", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "&ÐÑÑезаÑÑ", FCIDM_SHVIEW_CUT - MENUITEM "&ÐопиÑоваÑÑ", FCIDM_SHVIEW_COPY + MENUITEM "&ÐÑÑезаÑÑ", IDM_CUT + MENUITEM "&ÐопиÑоваÑÑ", IDM_COPY MENUITEM SEPARATOR - MENUITEM "СоздаÑÑ &ÑÑлÑк", FCIDM_SHVIEW_CREATELINK - MENUITEM "&УдалиÑÑ", FCIDM_SHVIEW_DELETE - MENUITEM "ÐеÑеи&меноваÑÑ", FCIDM_SHVIEW_RENAME + MENUITEM "СоздаÑÑ &ÑÑлÑк", IDM_CREATELINK + MENUITEM "&УдалиÑÑ", IDM_DELETE + MENUITEM "ÐеÑеи&меноваÑÑ", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "Сво&йÑÑва", FCIDM_SHVIEW_PROPERTIES + MENUITEM "Сво&йÑÑва", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/sk-SK.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/sk-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/sk-SK.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/sk-SK.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -63,17 +63,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "&PreskúmaÅ¥", FCIDM_SHVIEW_EXPLORE - MENUITEM "&OtvoriÅ¥", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "&Vystrihnúť", FCIDM_SHVIEW_CUT - MENUITEM "&KopÃrovaÅ¥", FCIDM_SHVIEW_COPY + MENUITEM "&Vystrihnúť", IDM_CUT + MENUITEM "&KopÃrovaÅ¥", IDM_COPY MENUITEM SEPARATOR - MENUITEM "VytvoriÅ¥ o&dkaz", FCIDM_SHVIEW_CREATELINK - MENUITEM "&OdstrániÅ¥", FCIDM_SHVIEW_DELETE - MENUITEM "Pre&menovaÅ¥", FCIDM_SHVIEW_RENAME + MENUITEM "VytvoriÅ¥ o&dkaz", IDM_CREATELINK + MENUITEM "&OdstrániÅ¥", IDM_DELETE + MENUITEM "Pre&menovaÅ¥", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "Vl&astnosti", FCIDM_SHVIEW_PROPERTIES + MENUITEM "Vl&astnosti", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/sl-SI.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/sl-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/sl-SI.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/sl-SI.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -63,17 +63,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "E&xplore", FCIDM_SHVIEW_EXPLORE - MENUITEM "&Open", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "C&ut", FCIDM_SHVIEW_CUT - MENUITEM "&Copy", FCIDM_SHVIEW_COPY + MENUITEM "C&ut", IDM_CUT + MENUITEM "&Copy", IDM_COPY MENUITEM SEPARATOR - MENUITEM "Create &Link", FCIDM_SHVIEW_CREATELINK - MENUITEM "&Delete", FCIDM_SHVIEW_DELETE - MENUITEM "&Rename", FCIDM_SHVIEW_RENAME + MENUITEM "Create &Link", IDM_CREATELINK + MENUITEM "&Delete", IDM_DELETE + MENUITEM "&Rename", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "&Properties", FCIDM_SHVIEW_PROPERTIES + MENUITEM "&Properties", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/sq-AL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/sq-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/sq-AL.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/sq-AL.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -67,17 +67,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "E&xplorues", FCIDM_SHVIEW_EXPLORE - MENUITEM "&Hap", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "Prej", FCIDM_SHVIEW_CUT - MENUITEM "&Kopjo", FCIDM_SHVIEW_COPY + MENUITEM "Prej", IDM_CUT + MENUITEM "&Kopjo", IDM_COPY MENUITEM SEPARATOR - MENUITEM "Krijo &Lidhje", FCIDM_SHVIEW_CREATELINK - MENUITEM "&Fshi", FCIDM_SHVIEW_DELETE - MENUITEM "&Riemërto", FCIDM_SHVIEW_RENAME + MENUITEM "Krijo &Lidhje", IDM_CREATELINK + MENUITEM "&Fshi", IDM_DELETE + MENUITEM "&Riemërto", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "&Cilësime", FCIDM_SHVIEW_PROPERTIES + MENUITEM "&Cilësime", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/sv-SE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/sv-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/sv-SE.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/sv-SE.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -63,17 +63,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "U&tforska", FCIDM_SHVIEW_EXPLORE - MENUITEM "&Ãppna", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "K&lipp ut", FCIDM_SHVIEW_CUT - MENUITEM "&Kopiera", FCIDM_SHVIEW_COPY + MENUITEM "K&lipp ut", IDM_CUT + MENUITEM "&Kopiera", IDM_COPY MENUITEM SEPARATOR - MENUITEM "Skapa &genväg", FCIDM_SHVIEW_CREATELINK - MENUITEM "&Ta bort", FCIDM_SHVIEW_DELETE - MENUITEM "&Byt namn", FCIDM_SHVIEW_RENAME + MENUITEM "Skapa &genväg", IDM_CREATELINK + MENUITEM "&Ta bort", IDM_DELETE + MENUITEM "&Byt namn", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "&Egenskaper", FCIDM_SHVIEW_PROPERTIES + MENUITEM "&Egenskaper", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/tr-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/tr-TR.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/tr-TR.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -65,17 +65,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "A&raÅtır", FCIDM_SHVIEW_EXPLORE - MENUITEM "&Aç", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "&Kes", FCIDM_SHVIEW_CUT - MENUITEM "&ÃoÄalt", FCIDM_SHVIEW_COPY + MENUITEM "&Kes", IDM_CUT + MENUITEM "&ÃoÄalt", IDM_COPY MENUITEM SEPARATOR - MENUITEM "K&ısayol OluÅtur", FCIDM_SHVIEW_CREATELINK - MENUITEM "&Sil", FCIDM_SHVIEW_DELETE - MENUITEM "&Yeniden Adlandır", FCIDM_SHVIEW_RENAME + MENUITEM "K&ısayol OluÅtur", IDM_CREATELINK + MENUITEM "&Sil", IDM_DELETE + MENUITEM "&Yeniden Adlandır", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "&Husûsîyetler", FCIDM_SHVIEW_PROPERTIES + MENUITEM "&Husûsîyetler", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/uk-UA.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/uk-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/uk-UA.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/uk-UA.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -63,17 +63,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "&ÐÑовÑдник", FCIDM_SHVIEW_EXPLORE - MENUITEM "Ð&ÑдкÑиÑи", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "&ÐиÑÑзаÑи", FCIDM_SHVIEW_CUT - MENUITEM "&ÐопÑÑваÑи", FCIDM_SHVIEW_COPY + MENUITEM "&ÐиÑÑзаÑи", IDM_CUT + MENUITEM "&ÐопÑÑваÑи", IDM_COPY MENUITEM SEPARATOR - MENUITEM "СÑвоÑиÑи &ÑÑлик", FCIDM_SHVIEW_CREATELINK - MENUITEM "Ð&идалиÑи", FCIDM_SHVIEW_DELETE - MENUITEM "ÐеÑей&менÑваÑи", FCIDM_SHVIEW_RENAME + MENUITEM "СÑвоÑиÑи &ÑÑлик", IDM_CREATELINK + MENUITEM "Ð&идалиÑи", IDM_DELETE + MENUITEM "ÐеÑей&менÑваÑи", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "Ð&лаÑÑивоÑÑÑ", FCIDM_SHVIEW_PROPERTIES + MENUITEM "Ð&лаÑÑивоÑÑÑ", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/zh-CN.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/zh-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/zh-CN.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/zh-CN.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -72,17 +72,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "æµè§(&X)", FCIDM_SHVIEW_EXPLORE - MENUITEM "æå¼(&O)", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "åªå(&U)", FCIDM_SHVIEW_CUT - MENUITEM "å¤å¶(&C)", FCIDM_SHVIEW_COPY + MENUITEM "åªå(&U)", IDM_CUT + MENUITEM "å¤å¶(&C)", IDM_COPY MENUITEM SEPARATOR - MENUITEM "å建快æ·æ¹å¼(&L)", FCIDM_SHVIEW_CREATELINK - MENUITEM "å é¤(&D)", FCIDM_SHVIEW_DELETE - MENUITEM "éå½å(&R)", FCIDM_SHVIEW_RENAME + MENUITEM "å建快æ·æ¹å¼(&L)", IDM_CREATELINK + MENUITEM "å é¤(&D)", IDM_DELETE + MENUITEM "éå½å(&R)", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "å±æ§(&P)", FCIDM_SHVIEW_PROPERTIES + MENUITEM "å±æ§(&P)", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/lang/zh-TW.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/zh-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/zh-TW.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/zh-TW.rc [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -71,17 +71,15 @@ BEGIN POPUP "" BEGIN - MENUITEM "E&xplore", FCIDM_SHVIEW_EXPLORE - MENUITEM "&Open", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR - MENUITEM "C&ut", FCIDM_SHVIEW_CUT - MENUITEM "&Copy", FCIDM_SHVIEW_COPY + MENUITEM "C&ut", IDM_CUT + MENUITEM "&Copy", IDM_COPY MENUITEM SEPARATOR - MENUITEM "Create &Link", FCIDM_SHVIEW_CREATELINK - MENUITEM "&Delete", FCIDM_SHVIEW_DELETE - MENUITEM "&Rename", FCIDM_SHVIEW_RENAME + MENUITEM "Create &Link", IDM_CREATELINK + MENUITEM "&Delete", IDM_DELETE + MENUITEM "&Rename", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "&Properties", FCIDM_SHVIEW_PROPERTIES + MENUITEM "&Properties", IDM_PROPERTIES END END Modified: trunk/reactos/dll/win32/shell32/shresdef.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shresdef…
============================================================================== --- trunk/reactos/dll/win32/shell32/shresdef.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/shresdef.h [iso-8859-1] Mon Aug 14 15:25:58 2017 @@ -658,6 +658,14 @@ #define FCIDM_TB_REPORTVIEW 0xA004 #define FCIDM_TB_DESKTOP 0xA005 /* FIXME */ +#define IDM_CUT (FCIDM_SHVIEW_CUT - 0x7000) +#define IDM_COPY (FCIDM_SHVIEW_COPY - 0x7000) +#define IDM_INSERT (FCIDM_SHVIEW_INSERT - 0x7000) +#define IDM_CREATELINK (FCIDM_SHVIEW_CREATELINK - 0x7000) +#define IDM_DELETE (FCIDM_SHVIEW_DELETE - 0x7000) +#define IDM_RENAME (FCIDM_SHVIEW_RENAME - 0x7000) +#define IDM_PROPERTIES (FCIDM_SHVIEW_PROPERTIES - 0x7000) + /* Registrar scripts (RGS) */ #define IDR_ADMINFOLDERSHORTCUT 128 #define IDR_CONTROLPANEL 130
7 years, 2 months
1
0
0
0
[hpoussin] 75532: [USETUP] Remove one special case for keyboard devices Keyboard devices must have an upperfilter (kdbclass) to work correctly. Detect these devices using the Keyboard GUID class in...
by hpoussin@svn.reactos.org
Author: hpoussin Date: Sun Aug 13 13:11:43 2017 New Revision: 75532 URL:
http://svn.reactos.org/svn/reactos?rev=75532&view=rev
Log: [USETUP] Remove one special case for keyboard devices Keyboard devices must have an upperfilter (kdbclass) to work correctly. Detect these devices using the Keyboard GUID class instead of using the inf section name. Modified: trunk/reactos/base/setup/usetup/interface/devinst.c trunk/reactos/boot/bootdata/txtsetup.sif Modified: trunk/reactos/base/setup/usetup/interface/devinst.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/interfac…
============================================================================== --- trunk/reactos/base/setup/usetup/interface/devinst.c [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/interface/devinst.c [iso-8859-1] Sun Aug 13 13:11:43 2017 @@ -50,32 +50,33 @@ OBJECT_ATTRIBUTES ObjectAttributes; HANDLE hService; INFCONTEXT Context; - LPWSTR Driver, ImagePath, FullImagePath; + LPWSTR Driver, ClassGuid, ImagePath, FullImagePath; ULONG dwValue; ULONG Disposition; NTSTATUS Status; BOOLEAN deviceInstalled = FALSE; UNICODE_STRING UpperFiltersU = RTL_CONSTANT_STRING(L"UpperFilters"); LPWSTR keyboardClass = L"kbdclass\0"; - BOOLEAN keyboardDevice = FALSE; /* Check if we know the hardware */ if (!SetupFindFirstLineW(hInf, L"HardwareIdsDatabase", HardwareId, &Context)) return FALSE; if (!INF_GetDataField(&Context, 1, &Driver)) return FALSE; + + /* Get associated class GUID (if any) */ + if (!INF_GetDataField(&Context, 2, &ClassGuid)) + ClassGuid = NULL; /* Find associated driver name */ /* FIXME: check in other sections too! */ if (!SetupFindFirstLineW(hInf, L"BootBusExtenders.Load", Driver, &Context) && !SetupFindFirstLineW(hInf, L"BusExtenders.Load", Driver, &Context) && !SetupFindFirstLineW(hInf, L"SCSI.Load", Driver, &Context) - && !SetupFindFirstLineW(hInf, L"InputDevicesSupport.Load", Driver, &Context)) - { - if (!SetupFindFirstLineW(hInf, L"Keyboard.Load", Driver, &Context)) - return FALSE; - - keyboardDevice = TRUE; + && !SetupFindFirstLineW(hInf, L"InputDevicesSupport.Load", Driver, &Context) + && !SetupFindFirstLineW(hInf, L"Keyboard.Load", Driver, &Context)) + { + return FALSE; } if (!INF_GetDataField(&Context, 1, &ImagePath)) @@ -142,7 +143,7 @@ ImagePath, (wcslen(ImagePath) + 1) * sizeof(WCHAR)); - if (keyboardDevice) + if (ClassGuid &&_wcsicmp(ClassGuid, L"{4D36E96B-E325-11CE-BFC1-08002BE10318}") == 0) { DPRINT1("Installing keyboard class driver for '%S'\n", DeviceId); NtSetValueKey(hDeviceKey, Modified: trunk/reactos/boot/bootdata/txtsetup.sif URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/txtsetup.sif…
============================================================================== --- trunk/reactos/boot/bootdata/txtsetup.sif [iso-8859-1] (original) +++ trunk/reactos/boot/bootdata/txtsetup.sif [iso-8859-1] Sun Aug 13 13:11:43 2017 @@ -94,12 +94,12 @@ PCI\CC_0C0310 = usbohci PCI\CC_0C0320 = usbehci USB\Class_08&SubClass_06&Prot_50 = usbstor -HID_DEVICE_SYSTEM_KEYBOARD = kbdhid +HID_DEVICE_SYSTEM_KEYBOARD = kbdhid,{4D36E96B-E325-11CE-BFC1-08002BE10318} USB\COMPOSITE = usbccgp GenDisk = disk USB\Class_03 = hidusb GENERIC_HID_DEVICE = hidusb -*PNP0303 = i8042prt +*PNP0303 = i8042prt,{4D36E96B-E325-11CE-BFC1-08002BE10318} ROOT\SWENUM = swenum [BootBusExtenders.Load]
7 years, 2 months
1
0
0
0
[pschweitzer] 75531: [MOVEFILE] Open source the movefile utily that allows queueing deletion/renaming operations for the next reboot
by pschweitzer@svn.reactos.org
Author: pschweitzer Date: Sun Aug 13 10:15:55 2017 New Revision: 75531 URL:
http://svn.reactos.org/svn/reactos?rev=75531&view=rev
Log: [MOVEFILE] Open source the movefile utily that allows queueing deletion/renaming operations for the next reboot Added: trunk/rosapps/applications/rosinternals/movefile/ trunk/rosapps/applications/rosinternals/movefile/CMakeLists.txt (with props) trunk/rosapps/applications/rosinternals/movefile/movefile.c (with props) trunk/rosapps/applications/rosinternals/movefile/movefile.rc (with props) Modified: trunk/rosapps/applications/rosinternals/CMakeLists.txt Modified: trunk/rosapps/applications/rosinternals/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/rosinternals/…
============================================================================== --- trunk/rosapps/applications/rosinternals/CMakeLists.txt [iso-8859-1] (original) +++ trunk/rosapps/applications/rosinternals/CMakeLists.txt [iso-8859-1] Sun Aug 13 10:15:55 2017 @@ -1,2 +1,3 @@ +add_subdirectory(movefile) add_subdirectory(ntfsinfo) add_subdirectory(pendmoves) Added: trunk/rosapps/applications/rosinternals/movefile/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/rosinternals/…
============================================================================== --- trunk/rosapps/applications/rosinternals/movefile/CMakeLists.txt (added) +++ trunk/rosapps/applications/rosinternals/movefile/CMakeLists.txt [iso-8859-1] Sun Aug 13 10:15:55 2017 @@ -0,0 +1,5 @@ +list(APPEND SOURCE movefile.c movefile.rc) +add_executable(movefile ${SOURCE}) +set_module_type(movefile win32cui UNICODE) +add_importlibs(movefile msvcrt kernel32 ntdll) +add_cd_file(TARGET movefile DESTINATION reactos/system32 FOR all) Propchange: trunk/rosapps/applications/rosinternals/movefile/CMakeLists.txt ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/rosapps/applications/rosinternals/movefile/movefile.c URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/rosinternals/…
============================================================================== --- trunk/rosapps/applications/rosinternals/movefile/movefile.c (added) +++ trunk/rosapps/applications/rosinternals/movefile/movefile.c [iso-8859-1] Sun Aug 13 10:15:55 2017 @@ -0,0 +1,32 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS pending moves operations interactions tool + * FILE: cmdutils/movefile/movefile.c + * PURPOSE: Queue move operations for next reboot + * PROGRAMMERS: Pierre Schweitzer <pierre(a)reactos.org> + */ + +#include <windows.h> +#include <tchar.h> +#include <stdio.h> + +int +__cdecl +_tmain(int argc, const TCHAR *argv[]) +{ + /* We need source + target */ + if (argc < 3) + { + _ftprintf(stderr, _T("Missing arguments\nUsage: %s source target\nUse \"\" as target is you want deletion\n"), argv[0]); + return 1; + } + + /* If target is empty, it means deletion, so provide null pointer */ + if (!MoveFileEx(argv[1], (argv[2][0] == 0 ? NULL : argv[2]), MOVEFILE_DELAY_UNTIL_REBOOT)) + { + _ftprintf(stderr, _T("Error: %d\n"), GetLastError()); + return 1; + } + + return 0; +} Propchange: trunk/rosapps/applications/rosinternals/movefile/movefile.c ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/rosapps/applications/rosinternals/movefile/movefile.rc URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/rosinternals/…
============================================================================== --- trunk/rosapps/applications/rosinternals/movefile/movefile.rc (added) +++ trunk/rosapps/applications/rosinternals/movefile/movefile.rc [iso-8859-1] Sun Aug 13 10:15:55 2017 @@ -0,0 +1,4 @@ +#define REACTOS_STR_FILE_DESCRIPTION "Queue move operations for next reboot\0" +#define REACTOS_STR_INTERNAL_NAME "movefile\0" +#define REACTOS_STR_ORIGINAL_FILENAME "movefile.exe\0" +#include <reactos/version.rc> Propchange: trunk/rosapps/applications/rosinternals/movefile/movefile.rc ------------------------------------------------------------------------------ svn:eol-style = native
7 years, 2 months
1
0
0
0
[pschweitzer] 75530: [ROSINTERNALS] Addendum to r75529
by pschweitzer@svn.reactos.org
Author: pschweitzer Date: Sat Aug 12 20:43:53 2017 New Revision: 75530 URL:
http://svn.reactos.org/svn/reactos?rev=75530&view=rev
Log: [ROSINTERNALS] Addendum to r75529 Added: trunk/rosapps/applications/rosinternals/CMakeLists.txt (with props) Added: trunk/rosapps/applications/rosinternals/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/rosinternals/…
============================================================================== --- trunk/rosapps/applications/rosinternals/CMakeLists.txt (added) +++ trunk/rosapps/applications/rosinternals/CMakeLists.txt [iso-8859-1] Sat Aug 12 20:43:53 2017 @@ -0,0 +1,2 @@ +add_subdirectory(ntfsinfo) +add_subdirectory(pendmoves) Propchange: trunk/rosapps/applications/rosinternals/CMakeLists.txt ------------------------------------------------------------------------------ svn:eol-style = native
7 years, 2 months
1
0
0
0
[pschweitzer] 75529: [ROSINTERNALS] Move the sysinternals tools to their own directory: rosinternals. To be completed :-)
by pschweitzer@svn.reactos.org
Author: pschweitzer Date: Sat Aug 12 20:39:12 2017 New Revision: 75529 URL:
http://svn.reactos.org/svn/reactos?rev=75529&view=rev
Log: [ROSINTERNALS] Move the sysinternals tools to their own directory: rosinternals. To be completed :-) Added: trunk/rosapps/applications/rosinternals/ trunk/rosapps/applications/rosinternals/ntfsinfo/ - copied from r75528, trunk/rosapps/applications/cmdutils/ntfsinfo/ trunk/rosapps/applications/rosinternals/pendmoves/ - copied from r75528, trunk/rosapps/applications/cmdutils/pendmoves/ Removed: trunk/rosapps/applications/cmdutils/ntfsinfo/ trunk/rosapps/applications/cmdutils/pendmoves/ Modified: trunk/rosapps/applications/CMakeLists.txt trunk/rosapps/applications/cmdutils/CMakeLists.txt Modified: trunk/rosapps/applications/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/CMakeLists.tx…
============================================================================== --- trunk/rosapps/applications/CMakeLists.txt [iso-8859-1] (original) +++ trunk/rosapps/applications/CMakeLists.txt [iso-8859-1] Sat Aug 12 20:39:12 2017 @@ -5,6 +5,7 @@ add_subdirectory(imagesoft) add_subdirectory(net) add_subdirectory(notevil) +add_subdirectory(rosinternals) add_subdirectory(screensavers) add_subdirectory(sysutils) add_subdirectory(winfile) Modified: trunk/rosapps/applications/cmdutils/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/cmdutils/CMak…
============================================================================== --- trunk/rosapps/applications/cmdutils/CMakeLists.txt [iso-8859-1] (original) +++ trunk/rosapps/applications/cmdutils/CMakeLists.txt [iso-8859-1] Sat Aug 12 20:39:12 2017 @@ -2,8 +2,6 @@ add_subdirectory(arping) add_subdirectory(cat) add_subdirectory(gflags) -add_subdirectory(ntfsinfo) -add_subdirectory(pendmoves) add_subdirectory(tee) add_subdirectory(touch) add_subdirectory(uptime)
7 years, 2 months
1
0
0
0
[pschweitzer] 75528: [PENDMOVES] Open source the PendMoves utility from Sysinternals that allow easy display of renaming/deleting operations queued for next reboot. See: https://docs.microsoft.com/...
by pschweitzer@svn.reactos.org
Author: pschweitzer Date: Sat Aug 12 18:17:12 2017 New Revision: 75528 URL:
http://svn.reactos.org/svn/reactos?rev=75528&view=rev
Log: [PENDMOVES] Open source the PendMoves utility from Sysinternals that allow easy display of renaming/deleting operations queued for next reboot. See:
https://docs.microsoft.com/en-us/sysinternals/downloads/pendmoves
Added: trunk/rosapps/applications/cmdutils/pendmoves/ trunk/rosapps/applications/cmdutils/pendmoves/CMakeLists.txt (with props) trunk/rosapps/applications/cmdutils/pendmoves/pendmoves.c (with props) trunk/rosapps/applications/cmdutils/pendmoves/pendmoves.rc (with props) Modified: trunk/rosapps/applications/cmdutils/CMakeLists.txt Modified: trunk/rosapps/applications/cmdutils/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/cmdutils/CMak…
============================================================================== --- trunk/rosapps/applications/cmdutils/CMakeLists.txt [iso-8859-1] (original) +++ trunk/rosapps/applications/cmdutils/CMakeLists.txt [iso-8859-1] Sat Aug 12 18:17:12 2017 @@ -3,6 +3,7 @@ add_subdirectory(cat) add_subdirectory(gflags) add_subdirectory(ntfsinfo) +add_subdirectory(pendmoves) add_subdirectory(tee) add_subdirectory(touch) add_subdirectory(uptime) Added: trunk/rosapps/applications/cmdutils/pendmoves/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/cmdutils/pend…
============================================================================== --- trunk/rosapps/applications/cmdutils/pendmoves/CMakeLists.txt (added) +++ trunk/rosapps/applications/cmdutils/pendmoves/CMakeLists.txt [iso-8859-1] Sat Aug 12 18:17:12 2017 @@ -0,0 +1,5 @@ +list(APPEND SOURCE pendmoves.c pendmoves.rc) +add_executable(pendmoves ${SOURCE}) +set_module_type(pendmoves win32cui UNICODE) +add_importlibs(pendmoves msvcrt advapi32 kernel32 ntdll) +add_cd_file(TARGET pendmoves DESTINATION reactos/system32 FOR all) Propchange: trunk/rosapps/applications/cmdutils/pendmoves/CMakeLists.txt ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/rosapps/applications/cmdutils/pendmoves/pendmoves.c URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/cmdutils/pend…
============================================================================== --- trunk/rosapps/applications/cmdutils/pendmoves/pendmoves.c (added) +++ trunk/rosapps/applications/cmdutils/pendmoves/pendmoves.c [iso-8859-1] Sat Aug 12 18:17:12 2017 @@ -0,0 +1,196 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS pending moves operations Information tool + * FILE: cmdutils/pendmoves/pendmoves.c + * PURPOSE: Query information from registry about pending moves + * PROGRAMMERS: Pierre Schweitzer <pierre(a)reactos.org> + */ + +#include <windows.h> +#include <tchar.h> +#include <stdio.h> + +static +TCHAR * +BeautifyPath(TCHAR * Path, DWORD * Len) +{ + DWORD LocalLen = *Len; + + /* If there's a ! marking that existing file can be overwritten, + * drop it + */ + if (LocalLen > 1) + { + if (Path[0] == _T('!')) + { + ++Path; + --LocalLen; + } + } + + /* Remove namespace if prefixed */ + if (LocalLen > 4) + { + if (Path[0] == _T('\\') && Path[1] == _T('?') && + Path[2] == _T('?') && Path[3] == _T('\\')) + { + Path += 4; + LocalLen -= 4; + } + } + + /* Return modified string + len */ + *Len = LocalLen; + return Path; +} + +static +DWORD +DisplayPendingOps(TCHAR * Value, DWORD Len) +{ + DWORD Chars, i, j, Count, SrcLen, TgtLen; + TCHAR * SrcFile, * Target, * Current; + + /* Compute the amount of chars + * NULL char isn't relaible EOF (MULTI_SZ) + */ + Chars = Len / sizeof(TCHAR); + + i = 0; + Count = 0; + Current = Value; + /* Browse the whole string */ + while (i < Chars) + { + /* Jump to the next NULL (end of source) */ + for (j = i; j < Chars && Value[j] != 0; ++j); + /* Get len & clean path */ + SrcLen = _tcslen(Current); + SrcFile = BeautifyPath(Current, &SrcLen); + /* Source file is null - likely the end of the MULTI_SZ, quit */ + if (SrcLen == 0) + { + break; + } + + /* Remember position, jump to the begin of the target */ + i = j; + ++i; + /* Update position in MULTI_SZ */ + Current = Value + i; + + /* Jump to the next NULL (end of target) */ + for (j = i; j < Chars && Value[j] != 0; ++j); + /* Get len & clean path */ + TgtLen = _tcslen(Current); + Target = BeautifyPath(Current, &TgtLen); + /* Remember position, jump to the begin of the next source */ + i = j; + ++i; + Current = Value + i; + + /* Display source */ + _ftprintf(stdout, _T("Source: %s\n"), SrcFile); + /* If is accessible? Warn if not */ + if (GetFileAttributes(SrcFile) == INVALID_FILE_ATTRIBUTES) + { + _ftprintf(stdout, _T("\t *** Source file lookup error: %d\n"), GetLastError()); + } + /* And display target - if empty, it's for deletion, mark as it */ + _ftprintf(stdout, _T("Target: %s\n\n"), (_tcslen(Target) != 0 ? Target: _T("DELETE"))); + + /* Remember position and number of entries */ + Current = Value + i; + ++Count; + } + + return Count; +} + +int +__cdecl +_tmain(int argc, const TCHAR *argv[]) +{ + HKEY hKey; + LONG Ret; + DWORD MaxLen, Len, Count, Type; + PVOID Buffer; + FILETIME LastModified; + TCHAR RegistryPath[] = _T("System\\CurrentControlSet\\Control\\Session Manager"); + + /* Open the SMSS registry key */ + Ret = RegOpenKey(HKEY_LOCAL_MACHINE, RegistryPath, &hKey); + if (Ret != ERROR_SUCCESS) + { + _ftprintf(stderr, _T("Failed opening the registry key '%s' (%lx)\n"), RegistryPath, Ret); + return 1; + } + + /* Get last modified date + buffer length we need to allocate */ + Ret = RegQueryInfoKey(hKey, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &MaxLen, NULL, &LastModified); + if (Ret != ERROR_SUCCESS) + { + RegCloseKey(hKey); + _ftprintf(stderr, _T("Failed querying information for '%s' (%lx)\n"), RegistryPath, Ret); + return 1; + } + + /* No value, so no operations */ + if (MaxLen == 0) + { + RegCloseKey(hKey); + _ftprintf(stdout, _T("No pending file rename operations registered.\n\n")); + return 0; + } + + /* Allocate memory */ + Buffer = HeapAlloc(GetProcessHeap(), 0, MaxLen); + if (Buffer == NULL) + { + RegCloseKey(hKey); + _ftprintf(stderr, _T("Failed allocating %d bytes\n"), MaxLen); + return 1; + } + + /* Start with PendingFileRenameOperations */ + Count = 0; + Len = MaxLen; + Ret = RegQueryValueEx(hKey, _T("PendingFileRenameOperations"), NULL, &Type, Buffer, &Len); + if (Ret == ERROR_SUCCESS && Type == REG_MULTI_SZ) + { + Count += DisplayPendingOps(Buffer, Len); + } + + /* Continue with PendingFileRenameOperations2 - used if PendingFileRenameOperations is too big */ + Len = MaxLen; + Ret = RegQueryValueEx(hKey, _T("PendingFileRenameOperations2"), NULL, &Type, Buffer, &Len); + if (Ret == ERROR_SUCCESS && Type == REG_MULTI_SZ) + { + Count += DisplayPendingOps(Buffer, Len); + } + + /* Release everything */ + HeapFree(GetProcessHeap(), 0, Buffer); + RegCloseKey(hKey); + + /* If we found entries, display modification date */ + if (Count != 0) + { + FILETIME LocalTime; + SYSTEMTIME SysTime; + + /* Convert our UTC time to local time, and then to system time to allow easy display */ + if (FileTimeToLocalFileTime(&LastModified, &LocalTime) && FileTimeToSystemTime(&LocalTime, &SysTime)) + { + _ftprintf(stdout, _T("Time of last update to pending moves key: %02d/%02d/%04d %02d:%02d\n\n"), + SysTime.wDay, SysTime.wMonth, SysTime.wYear, SysTime.wHour, SysTime.wMinute); + } + } + /* No operations found */ + else + { + _ftprintf(stdout, _T("No pending file rename operations registered.\n\n")); + } + + return 0; +} Propchange: trunk/rosapps/applications/cmdutils/pendmoves/pendmoves.c ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/rosapps/applications/cmdutils/pendmoves/pendmoves.rc URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/cmdutils/pend…
============================================================================== --- trunk/rosapps/applications/cmdutils/pendmoves/pendmoves.rc (added) +++ trunk/rosapps/applications/cmdutils/pendmoves/pendmoves.rc [iso-8859-1] Sat Aug 12 18:17:12 2017 @@ -0,0 +1,4 @@ +#define REACTOS_STR_FILE_DESCRIPTION "Pending Move Operations Information\0" +#define REACTOS_STR_INTERNAL_NAME "pendmoves\0" +#define REACTOS_STR_ORIGINAL_FILENAME "pendmoves.exe\0" +#include <reactos/version.rc> Propchange: trunk/rosapps/applications/cmdutils/pendmoves/pendmoves.rc ------------------------------------------------------------------------------ svn:eol-style = native
7 years, 2 months
1
0
0
0
[hbelusca] 75527: [EVTLIB]: Allow specifying a memory allocation tag when freeing the allocated buffers (functionality similar to the Ex**WithTag kernel functions). [EVENTLOG]: Use the previous fun...
by hbelusca@svn.reactos.org
Author: hbelusca Date: Fri Aug 11 12:37:15 2017 New Revision: 75527 URL:
http://svn.reactos.org/svn/reactos?rev=75527&view=rev
Log: [EVTLIB]: Allow specifying a memory allocation tag when freeing the allocated buffers (functionality similar to the Ex**WithTag kernel functions). [EVENTLOG]: Use the previous functionality; use also the internal LogfpAlloc() / LogfpFree() functions when dealing with buffers related to event log files. Modified: trunk/reactos/base/services/eventlog/eventlog.h trunk/reactos/base/services/eventlog/file.c trunk/reactos/sdk/lib/evtlib/evtlib.c trunk/reactos/sdk/lib/evtlib/evtlib.h Modified: trunk/reactos/base/services/eventlog/eventlog.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/services/eventlog/eve…
============================================================================== --- trunk/reactos/base/services/eventlog/eventlog.h [iso-8859-1] (original) +++ trunk/reactos/base/services/eventlog/eventlog.h [iso-8859-1] Fri Aug 11 12:37:15 2017 @@ -142,7 +142,7 @@ static __inline void LogfFreeRecord(PEVENTLOGRECORD Record) { - HeapFree(GetProcessHeap(), 0, Record); + RtlFreeHeap(GetProcessHeap(), 0, Record); } VOID Modified: trunk/reactos/base/services/eventlog/file.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/services/eventlog/fil…
============================================================================== --- trunk/reactos/base/services/eventlog/file.c [iso-8859-1] (original) +++ trunk/reactos/base/services/eventlog/file.c [iso-8859-1] Fri Aug 11 12:37:15 2017 @@ -167,8 +167,10 @@ static VOID NTAPI LogfpFree(IN PVOID Ptr, - IN ULONG Flags) -{ + IN ULONG Flags, + IN ULONG Tag) +{ + UNREFERENCED_PARAMETER(Tag); RtlFreeHeap(GetProcessHeap(), Flags, Ptr); } @@ -305,7 +307,7 @@ SIZE_T LogNameLen; BOOLEAN CreateNew; - pLogFile = RtlAllocateHeap(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*pLogFile)); + pLogFile = LogfpAlloc(sizeof(*pLogFile), HEAP_ZERO_MEMORY, TAG_ELF); if (!pLogFile) { DPRINT1("Cannot allocate heap!\n"); @@ -313,9 +315,7 @@ } LogNameLen = (LogName ? wcslen(LogName) : 0) + 1; - pLogFile->LogName = RtlAllocateHeap(GetProcessHeap(), - HEAP_ZERO_MEMORY, - LogNameLen * sizeof(WCHAR)); + pLogFile->LogName = LogfpAlloc(LogNameLen * sizeof(WCHAR), HEAP_ZERO_MEMORY, 0); if (pLogFile->LogName == NULL) { DPRINT1("Cannot allocate heap\n"); @@ -412,9 +412,9 @@ NtClose(pLogFile->FileHandle); if (pLogFile->LogName) - RtlFreeHeap(GetProcessHeap(), 0, pLogFile->LogName); - - RtlFreeHeap(GetProcessHeap(), 0, pLogFile); + LogfpFree(pLogFile->LogName, 0, 0); + + LogfpFree(pLogFile, 0, TAG_ELF); } else { @@ -440,11 +440,11 @@ ElfCloseFile(&LogFile->LogFile); NtClose(LogFile->FileHandle); - RtlFreeHeap(GetProcessHeap(), 0, LogFile->LogName); + LogfpFree(LogFile->LogName, 0, 0); RtlDeleteResource(&LogFile->Lock); - RtlFreeHeap(GetProcessHeap(), 0, LogFile); + LogfpFree(LogFile, 0, TAG_ELF); return; } @@ -583,7 +583,7 @@ if (BytesNeeded) *BytesNeeded = 0; - UnicodeBuffer = RtlAllocateHeap(GetProcessHeap(), HEAP_ZERO_MEMORY, BufSize); + UnicodeBuffer = LogfpAlloc(BufSize, HEAP_ZERO_MEMORY, TAG_ELF_BUF); if (UnicodeBuffer == NULL) { DPRINT1("Alloc failed!\n"); @@ -705,7 +705,7 @@ Status = STATUS_SUCCESS; Quit: - RtlFreeHeap(GetProcessHeap(), 0, UnicodeBuffer); + LogfpFree(UnicodeBuffer, 0, TAG_ELF_BUF); return Status; } Modified: trunk/reactos/sdk/lib/evtlib/evtlib.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/lib/evtlib/evtlib.c?re…
============================================================================== --- trunk/reactos/sdk/lib/evtlib/evtlib.c [iso-8859-1] (original) +++ trunk/reactos/sdk/lib/evtlib/evtlib.c [iso-8859-1] Fri Aug 11 12:37:15 2017 @@ -2,8 +2,8 @@ * PROJECT: ReactOS EventLog File Library * LICENSE: GPL - See COPYING in the top level directory * FILE: sdk/lib/evtlib/evtlib.c - * PURPOSE: Provides a library for reading and writing EventLog files - * in the NT <= 5.2 (.evt) format. + * PURPOSE: Provides functionality for reading and writing + * EventLog files in the NT <= 5.2 (.evt) format. * PROGRAMMERS: Copyright 2005 Saveliy Tretiakov * Michael Martin * Hermes Belusca-Maito @@ -238,7 +238,7 @@ RtlCopyMemory(NewOffsetInfo, LogFile->OffsetInfo, LogFile->OffsetInfoSize * sizeof(EVENT_OFFSET_INFO)); - LogFile->Free(LogFile->OffsetInfo, 0); + LogFile->Free(LogFile->OffsetInfo, 0, TAG_ELF); } LogFile->OffsetInfo = (PEVENT_OFFSET_INFO)NewOffsetInfo; LogFile->OffsetInfoSize += OFFSET_INFO_INCREMENT; @@ -771,20 +771,20 @@ if (!NT_SUCCESS(Status)) { EVTLTRACE1("ReadLogBuffer failed (Status 0x%08lx)\n", Status); - LogFile->Free(pRecBuf, 0); + LogFile->Free(pRecBuf, 0, TAG_ELF_BUF); return STATUS_EVENTLOG_FILE_CORRUPT; } if (ReadLength != RecBuf.Length) { DPRINT1("Oh oh!!\n"); - LogFile->Free(pRecBuf, 0); + LogFile->Free(pRecBuf, 0, TAG_ELF_BUF); break; } // /* If OverWrittenRecords is TRUE and this record has already been read */ // if (OverWrittenRecords && (pRecBuf->RecordNumber == LogFile->Header.OldestRecordNumber)) // { - // LogFile->Free(pRecBuf, 0); + // LogFile->Free(pRecBuf, 0, TAG_ELF_BUF); // break; // } @@ -794,7 +794,7 @@ { EVTLTRACE1("Invalid RecordSizeEnd of record %d (0x%x) in `%wZ'\n", RecordNumber, *pRecSize2, &LogFile->FileName); - LogFile->Free(pRecBuf, 0); + LogFile->Free(pRecBuf, 0, TAG_ELF_BUF); break; } @@ -807,11 +807,11 @@ FileOffset.QuadPart)) { EVTLTRACE1("ElfpAddOffsetInformation() failed!\n"); - LogFile->Free(pRecBuf, 0); + LogFile->Free(pRecBuf, 0, TAG_ELF_BUF); return STATUS_EVENTLOG_FILE_CORRUPT; } - LogFile->Free(pRecBuf, 0); + LogFile->Free(pRecBuf, 0, TAG_ELF_BUF); if (NextOffset.QuadPart == LogFile->Header.EndOffset) { @@ -874,7 +874,7 @@ NTSTATUS NTAPI ElfCreateFile( - IN PEVTLOGFILE LogFile, + IN OUT PEVTLOGFILE LogFile, IN PUNICODE_STRING FileName OPTIONAL, IN ULONG FileSize, IN ULONG MaxSize, @@ -952,14 +952,13 @@ if (!NT_SUCCESS(Status)) { if (LogFile->OffsetInfo) - LogFile->Free(LogFile->OffsetInfo, 0); + LogFile->Free(LogFile->OffsetInfo, 0, TAG_ELF); if (LogFile->FileName.Buffer) - LogFile->Free(LogFile->FileName.Buffer, 0); + LogFile->Free(LogFile->FileName.Buffer, 0, TAG_ELF); } return Status; - } NTSTATUS @@ -1071,7 +1070,7 @@ if (!NT_SUCCESS(Status)) { EVTLTRACE1("ReadLogBuffer failed (Status 0x%08lx)\n", Status); - LogFile->Free(Buffer, 0); + LogFile->Free(Buffer, 0, TAG_ELF_BUF); // Status = STATUS_EVENTLOG_FILE_CORRUPT; goto Quit; } @@ -1085,7 +1084,7 @@ if (!NT_SUCCESS(Status)) { EVTLTRACE1("FileWrite() failed (Status 0x%08lx)\n", Status); - LogFile->Free(Buffer, 0); + LogFile->Free(Buffer, 0, TAG_ELF_BUF); goto Quit; } @@ -1093,7 +1092,7 @@ Header->EndOffset += RecBuf.Length; /* Free the buffer */ - LogFile->Free(Buffer, 0); + LogFile->Free(Buffer, 0, TAG_ELF_BUF); Buffer = NULL; } @@ -1186,10 +1185,10 @@ ElfFlushFile(LogFile); /* Free the data */ - LogFile->Free(LogFile->OffsetInfo, 0); + LogFile->Free(LogFile->OffsetInfo, 0, TAG_ELF); if (LogFile->FileName.Buffer) - LogFile->Free(LogFile->FileName.Buffer, 0); + LogFile->Free(LogFile->FileName.Buffer, 0, TAG_ELF); RtlInitEmptyUnicodeString(&LogFile->FileName, NULL, 0); } Modified: trunk/reactos/sdk/lib/evtlib/evtlib.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/lib/evtlib/evtlib.h?re…
============================================================================== --- trunk/reactos/sdk/lib/evtlib/evtlib.h [iso-8859-1] (original) +++ trunk/reactos/sdk/lib/evtlib/evtlib.h [iso-8859-1] Fri Aug 11 12:37:15 2017 @@ -2,8 +2,8 @@ * PROJECT: ReactOS EventLog File Library * LICENSE: GPL - See COPYING in the top level directory * FILE: sdk/lib/evtlib/evtlib.h - * PURPOSE: Provides a library for reading and writing EventLog files - * in the NT <= 5.2 (.evt) format. + * PURPOSE: Provides functionality for reading and writing + * EventLog files in the NT <= 5.2 (.evt) format. * PROGRAMMERS: Copyright 2005 Saveliy Tretiakov * Michael Martin * Hermes Belusca-Maito @@ -11,6 +11,8 @@ #ifndef __EVTLIB_H__ #define __EVTLIB_H__ + +#pragma once /* PSDK/NDK Headers */ // #define WIN32_NO_STATUS @@ -157,7 +159,8 @@ typedef VOID (NTAPI *PELF_FREE_ROUTINE)( IN PVOID Ptr, - IN ULONG Flags + IN ULONG Flags, + IN ULONG Tag ); typedef NTSTATUS @@ -214,7 +217,7 @@ NTSTATUS NTAPI ElfCreateFile( - IN PEVTLOGFILE LogFile, + IN OUT PEVTLOGFILE LogFile, IN PUNICODE_STRING FileName OPTIONAL, IN ULONG FileSize, IN ULONG MaxSize,
7 years, 3 months
1
0
0
0
← Newer
1
...
17
18
19
20
21
22
23
...
27
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Results per page:
10
25
50
100
200