mirror of
https://github.com/reactos/reactos.git
synced 2025-07-23 04:03:37 +00:00
[IEXPLORE][IEFRAME][SHELL32] Add Internet icon on Desktop (#5451)
- Add Internet icon on Desktop. You can hide/show the icon from Desktop's customization. - Modify "HKCR\CLSID\%CLSID_Internet%" registry key. - Add IDS_INTERNET and IDS_INTERNET_DESCRITION into ieframe.dll. - Modify folders/CDesktopFolder.cpp and folders/CRegFolder.cpp to add the icon. CORE-18625 Co-authored-by: Stanislav Motylkov <x86corez@gmail.com> Co-authored-by: Joachim Henze <joachim.henze@reactos.org>
This commit is contained in:
parent
d02cb099c8
commit
52bc5f7c5d
23 changed files with 85 additions and 6 deletions
|
@ -1,5 +1,7 @@
|
||||||
|
|
||||||
add_rc_deps(iexplore.rc ${CMAKE_CURRENT_SOURCE_DIR}/iexplore.ico)
|
add_rc_deps(iexplore.rc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/iexplore.ico
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/iexplore.inf)
|
||||||
add_executable(iexplore main.c iexplore.rc)
|
add_executable(iexplore main.c iexplore.rc)
|
||||||
target_link_libraries(iexplore wine)
|
target_link_libraries(iexplore wine)
|
||||||
set_module_type(iexplore win32gui UNICODE)
|
set_module_type(iexplore win32gui UNICODE)
|
||||||
|
|
|
@ -16,10 +16,16 @@ HKCR,"CLSID\%CLSID_InternetExplorer%\LocalServer32",,,"""%16422%\Internet Explor
|
||||||
HKCR,"CLSID\%CLSID_InternetExplorer%\ProgID",,,"InternetExplorer.Application.1"
|
HKCR,"CLSID\%CLSID_InternetExplorer%\ProgID",,,"InternetExplorer.Application.1"
|
||||||
HKCR,"CLSID\%CLSID_InternetExplorer%\VersionIndependentProgID",,,"InternetExplorer.Application"
|
HKCR,"CLSID\%CLSID_InternetExplorer%\VersionIndependentProgID",,,"InternetExplorer.Application"
|
||||||
|
|
||||||
HKCR,"CLSID\%CLSID_Internet%\DefaultIcon",,,"shdoclc.dll,-190"
|
; FIXME: Implement CLSID_Internet in ieframe.dll (see CORE-18625)
|
||||||
HKCR,"CLSID\%CLSID_Internet%\Shell",,,"OpenHomePage"
|
; https://git.reactos.org/?p=reactos.git;a=blob;f=modules/rostests/apitests/com/ieframe.c;hb=bf2cec186cc7655e062ec0e53ccfac860bcae70d#l35
|
||||||
HKCR,"CLSID\%CLSID_Internet%\Shell\OpenHomePage",,,"Open &Home Page"
|
HKCR,"CLSID\%CLSID_Internet%",,,"Internet Browser"
|
||||||
HKCR,"CLSID\%CLSID_Internet%\Shell\OpenHomePage\Command",,,"""%16422%\Internet Explorer\iexplore.exe"""
|
HKCR,"CLSID\%CLSID_Internet%","InfoTip",0x00020000,"@%SystemRoot%\system32\ieframe.dll,-881"
|
||||||
|
HKCR,"CLSID\%CLSID_Internet%","LocalizedString",0x00020000,"@%SystemRoot%\system32\ieframe.dll,-880"
|
||||||
|
HKCR,"CLSID\%CLSID_Internet%\DefaultIcon",,0x00020000,"%SystemRoot%\system32\shell32.dll,-512"
|
||||||
|
; FIXME: should be "OpenHomePage" action
|
||||||
|
HKCR,"CLSID\%CLSID_Internet%\Shell",,,"open"
|
||||||
|
HKCR,"CLSID\%CLSID_Internet%\Shell\open",,,""
|
||||||
|
HKCR,"CLSID\%CLSID_Internet%\Shell\open\Command",,,"rundll32.exe url,OpenURL https://google.com"
|
||||||
HKCR,"CLSID\%CLSID_Internet%\ShellFolder",,2,"0x24"
|
HKCR,"CLSID\%CLSID_Internet%\ShellFolder",,2,"0x24"
|
||||||
|
|
||||||
HKCR,"CLSID\%CLSID_InternetExplorerManager%\LocalServer32",,,"""%16422%\Internet Explorer\iexplore.exe"" -startmanager"
|
HKCR,"CLSID\%CLSID_InternetExplorerManager%\LocalServer32",,,"""%16422%\Internet Explorer\iexplore.exe"" -startmanager"
|
||||||
|
|
|
@ -35,6 +35,8 @@ add_typelib(ieframe_v1.idl)
|
||||||
list(APPEND ieframe_rc_deps
|
list(APPEND ieframe_rc_deps
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/ieframe.rgs
|
${CMAKE_CURRENT_SOURCE_DIR}/ieframe.rgs
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/ieframe_v1.rgs
|
${CMAKE_CURRENT_SOURCE_DIR}/ieframe_v1.rgs
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/resources/ietoolbar.bmp
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/resources/pages.ico
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/ieframe_v1.tlb)
|
${CMAKE_CURRENT_BINARY_DIR}/ieframe_v1.tlb)
|
||||||
|
|
||||||
set_source_files_properties(ieframe.rc PROPERTIES OBJECT_DEPENDS "${ieframe_rc_deps}")
|
set_source_files_properties(ieframe.rc PROPERTIES OBJECT_DEPENDS "${ieframe_rc_deps}")
|
||||||
|
|
|
@ -5,9 +5,21 @@ HKCR
|
||||||
}
|
}
|
||||||
NoRemove CLSID
|
NoRemove CLSID
|
||||||
{
|
{
|
||||||
'{871C5380-42A0-1069-A2EA-08002B30309D}' = s 'Internet'
|
'{871C5380-42A0-1069-A2EA-08002B30309D}' = s 'Internet Browser'
|
||||||
{
|
{
|
||||||
InprocServer32 = s '%MODULE%' { val ThreadingModel = s 'Apartment' }
|
InprocServer32 = s '%MODULE%' { val ThreadingModel = s 'Apartment' }
|
||||||
|
Shellex = s ''
|
||||||
|
{
|
||||||
|
ContextMenuHandlers = s ''
|
||||||
|
{
|
||||||
|
ieframe = s '{871C5380-42A0-1069-A2EA-08002B30309D}'
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
MayChangeDefaultMenu = s ''
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
'{3C374A40-BAE4-11CF-BF7D-00AA006946EE}' = s 'Microsoft Url History Service'
|
'{3C374A40-BAE4-11CF-BF7D-00AA006946EE}' = s 'Microsoft Url History Service'
|
||||||
{
|
{
|
||||||
|
|
|
@ -45,6 +45,9 @@ IDR_BROWSE_MAIN_MENU MENU
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
{
|
{
|
||||||
|
IDS_INTERNET "Internet Browser"
|
||||||
|
IDS_INTERNET_DESCRIPTION "Opens a Web browser and displays information on the Internet."
|
||||||
|
|
||||||
IDS_TB_BACK "Zpět"
|
IDS_TB_BACK "Zpět"
|
||||||
IDS_TB_FORWARD "Vpřed"
|
IDS_TB_FORWARD "Vpřed"
|
||||||
IDS_TB_STOP "Stop"
|
IDS_TB_STOP "Stop"
|
||||||
|
|
|
@ -40,6 +40,9 @@ IDR_BROWSE_MAIN_MENU MENU
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
{
|
{
|
||||||
|
IDS_INTERNET "Internet Browser"
|
||||||
|
IDS_INTERNET_DESCRIPTION "Opens a Web browser and displays information on the Internet."
|
||||||
|
|
||||||
IDS_TB_BACK "Zurück"
|
IDS_TB_BACK "Zurück"
|
||||||
IDS_TB_FORWARD "Vorwärts"
|
IDS_TB_FORWARD "Vorwärts"
|
||||||
IDS_TB_STOP "Stop"
|
IDS_TB_STOP "Stop"
|
||||||
|
|
|
@ -40,6 +40,9 @@ IDR_BROWSE_MAIN_MENU MENU
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
{
|
{
|
||||||
|
IDS_INTERNET "Internet Browser"
|
||||||
|
IDS_INTERNET_DESCRIPTION "Opens a Web browser and displays information on the Internet."
|
||||||
|
|
||||||
IDS_TB_BACK "Back"
|
IDS_TB_BACK "Back"
|
||||||
IDS_TB_FORWARD "Forward"
|
IDS_TB_FORWARD "Forward"
|
||||||
IDS_TB_STOP "Stop"
|
IDS_TB_STOP "Stop"
|
||||||
|
|
|
@ -42,6 +42,9 @@ IDR_BROWSE_MAIN_MENU MENU
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
{
|
{
|
||||||
|
IDS_INTERNET "Internet Browser"
|
||||||
|
IDS_INTERNET_DESCRIPTION "Opens a Web browser and displays information on the Internet."
|
||||||
|
|
||||||
IDS_TB_BACK "Atrás"
|
IDS_TB_BACK "Atrás"
|
||||||
IDS_TB_FORWARD "Adelante"
|
IDS_TB_FORWARD "Adelante"
|
||||||
IDS_TB_STOP "Detener"
|
IDS_TB_STOP "Detener"
|
||||||
|
|
|
@ -40,6 +40,9 @@ IDR_BROWSE_MAIN_MENU MENU
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
{
|
{
|
||||||
|
IDS_INTERNET "Internet Browser"
|
||||||
|
IDS_INTERNET_DESCRIPTION "Opens a Web browser and displays information on the Internet."
|
||||||
|
|
||||||
IDS_TB_BACK "Précédent"
|
IDS_TB_BACK "Précédent"
|
||||||
IDS_TB_FORWARD "Suivant"
|
IDS_TB_FORWARD "Suivant"
|
||||||
IDS_TB_STOP "Arrêter"
|
IDS_TB_STOP "Arrêter"
|
||||||
|
|
|
@ -40,6 +40,9 @@ IDR_BROWSE_MAIN_MENU MENU
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
{
|
{
|
||||||
|
IDS_INTERNET "Internet Browser"
|
||||||
|
IDS_INTERNET_DESCRIPTION "Opens a Web browser and displays information on the Internet."
|
||||||
|
|
||||||
IDS_TB_BACK "Vissza"
|
IDS_TB_BACK "Vissza"
|
||||||
IDS_TB_FORWARD "Előre"
|
IDS_TB_FORWARD "Előre"
|
||||||
IDS_TB_STOP "Leállítás"
|
IDS_TB_STOP "Leállítás"
|
||||||
|
|
|
@ -40,6 +40,9 @@ IDR_BROWSE_MAIN_MENU MENU
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
{
|
{
|
||||||
|
IDS_INTERNET "Internet Browser"
|
||||||
|
IDS_INTERNET_DESCRIPTION "Opens a Web browser and displays information on the Internet."
|
||||||
|
|
||||||
IDS_TB_BACK "Kembali"
|
IDS_TB_BACK "Kembali"
|
||||||
IDS_TB_FORWARD "Maju"
|
IDS_TB_FORWARD "Maju"
|
||||||
IDS_TB_STOP "Berhenti"
|
IDS_TB_STOP "Berhenti"
|
||||||
|
|
|
@ -40,6 +40,9 @@ IDR_BROWSE_MAIN_MENU MENU
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
{
|
{
|
||||||
|
IDS_INTERNET "Internet Browser"
|
||||||
|
IDS_INTERNET_DESCRIPTION "Opens a Web browser and displays information on the Internet."
|
||||||
|
|
||||||
IDS_TB_BACK "Indietro"
|
IDS_TB_BACK "Indietro"
|
||||||
IDS_TB_FORWARD "Avanti"
|
IDS_TB_FORWARD "Avanti"
|
||||||
IDS_TB_STOP "Interrompi"
|
IDS_TB_STOP "Interrompi"
|
||||||
|
|
|
@ -40,6 +40,9 @@ IDR_BROWSE_MAIN_MENU MENU
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
{
|
{
|
||||||
|
IDS_INTERNET "Internet Browser"
|
||||||
|
IDS_INTERNET_DESCRIPTION "Opens a Web browser and displays information on the Internet."
|
||||||
|
|
||||||
IDS_TB_BACK "戻る"
|
IDS_TB_BACK "戻る"
|
||||||
IDS_TB_FORWARD "進む"
|
IDS_TB_FORWARD "進む"
|
||||||
IDS_TB_STOP "停止"
|
IDS_TB_STOP "停止"
|
||||||
|
|
|
@ -40,6 +40,9 @@ IDR_BROWSE_MAIN_MENU MENU
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
{
|
{
|
||||||
|
IDS_INTERNET "Internet Browser"
|
||||||
|
IDS_INTERNET_DESCRIPTION "Opens a Web browser and displays information on the Internet."
|
||||||
|
|
||||||
IDS_TB_BACK "Wstecz"
|
IDS_TB_BACK "Wstecz"
|
||||||
IDS_TB_FORWARD "Dalej"
|
IDS_TB_FORWARD "Dalej"
|
||||||
IDS_TB_STOP "Zatrzymaj"
|
IDS_TB_STOP "Zatrzymaj"
|
||||||
|
|
|
@ -40,6 +40,9 @@ IDR_BROWSE_MAIN_MENU MENU
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
{
|
{
|
||||||
|
IDS_INTERNET "Internet Browser"
|
||||||
|
IDS_INTERNET_DESCRIPTION "Opens a Web browser and displays information on the Internet."
|
||||||
|
|
||||||
IDS_TB_BACK "Retroceder"
|
IDS_TB_BACK "Retroceder"
|
||||||
IDS_TB_FORWARD "Avançar"
|
IDS_TB_FORWARD "Avançar"
|
||||||
IDS_TB_STOP "Parar"
|
IDS_TB_STOP "Parar"
|
||||||
|
|
|
@ -42,6 +42,9 @@ IDR_BROWSE_MAIN_MENU MENU
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
{
|
{
|
||||||
|
IDS_INTERNET "Internet Browser"
|
||||||
|
IDS_INTERNET_DESCRIPTION "Opens a Web browser and displays information on the Internet."
|
||||||
|
|
||||||
IDS_TB_BACK "Înapoi"
|
IDS_TB_BACK "Înapoi"
|
||||||
IDS_TB_FORWARD "Înainte"
|
IDS_TB_FORWARD "Înainte"
|
||||||
IDS_TB_STOP "Oprește"
|
IDS_TB_STOP "Oprește"
|
||||||
|
|
|
@ -42,6 +42,9 @@ IDR_BROWSE_MAIN_MENU MENU
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
{
|
{
|
||||||
|
IDS_INTERNET "Internet Browser"
|
||||||
|
IDS_INTERNET_DESCRIPTION "Opens a Web browser and displays information on the Internet."
|
||||||
|
|
||||||
IDS_TB_BACK "Назад"
|
IDS_TB_BACK "Назад"
|
||||||
IDS_TB_FORWARD "Вперед"
|
IDS_TB_FORWARD "Вперед"
|
||||||
IDS_TB_STOP "Остановить"
|
IDS_TB_STOP "Остановить"
|
||||||
|
|
|
@ -42,6 +42,9 @@ IDR_BROWSE_MAIN_MENU MENU
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
{
|
{
|
||||||
|
IDS_INTERNET "Internet Browser"
|
||||||
|
IDS_INTERNET_DESCRIPTION "Opens a Web browser and displays information on the Internet."
|
||||||
|
|
||||||
IDS_TB_BACK "Geri"
|
IDS_TB_BACK "Geri"
|
||||||
IDS_TB_FORWARD "İleri"
|
IDS_TB_FORWARD "İleri"
|
||||||
IDS_TB_STOP "Dur"
|
IDS_TB_STOP "Dur"
|
||||||
|
|
|
@ -43,6 +43,9 @@ IDR_BROWSE_MAIN_MENU MENU
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
{
|
{
|
||||||
|
IDS_INTERNET "Internet Browser"
|
||||||
|
IDS_INTERNET_DESCRIPTION "Opens a Web browser and displays information on the Internet."
|
||||||
|
|
||||||
IDS_TB_BACK "后退"
|
IDS_TB_BACK "后退"
|
||||||
IDS_TB_FORWARD "前进"
|
IDS_TB_FORWARD "前进"
|
||||||
IDS_TB_STOP "停止"
|
IDS_TB_STOP "停止"
|
||||||
|
|
|
@ -49,6 +49,9 @@ IDR_BROWSE_MAIN_MENU MENU
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
{
|
{
|
||||||
|
IDS_INTERNET "Internet Browser"
|
||||||
|
IDS_INTERNET_DESCRIPTION "Opens a Web browser and displays information on the Internet."
|
||||||
|
|
||||||
IDS_TB_BACK "上一頁"
|
IDS_TB_BACK "上一頁"
|
||||||
IDS_TB_FORWARD "下一頁"
|
IDS_TB_FORWARD "下一頁"
|
||||||
IDS_TB_STOP "停止"
|
IDS_TB_STOP "停止"
|
||||||
|
|
|
@ -55,6 +55,9 @@
|
||||||
#define ID_BROWSE_GOTOFAV_FIRST 2000
|
#define ID_BROWSE_GOTOFAV_FIRST 2000
|
||||||
#define ID_BROWSE_GOTOFAV_MAX 65000
|
#define ID_BROWSE_GOTOFAV_MAX 65000
|
||||||
|
|
||||||
|
#define IDS_INTERNET 880
|
||||||
|
#define IDS_INTERNET_DESCRIPTION 881
|
||||||
|
|
||||||
#define IDS_TB_BACK 1100
|
#define IDS_TB_BACK 1100
|
||||||
#define IDS_TB_FORWARD 1101
|
#define IDS_TB_FORWARD 1101
|
||||||
#define IDS_TB_STOP 1102
|
#define IDS_TB_STOP 1102
|
||||||
|
|
|
@ -129,6 +129,7 @@ class CDesktopFolderEnum :
|
||||||
LPITEMIDLIST pidl;
|
LPITEMIDLIST pidl;
|
||||||
|
|
||||||
static const WCHAR MyDocumentsClassString[] = L"{450D8FBA-AD25-11D0-98A8-0800361B1103}";
|
static const WCHAR MyDocumentsClassString[] = L"{450D8FBA-AD25-11D0-98A8-0800361B1103}";
|
||||||
|
static const WCHAR InternetClassString[] = L"{871C5380-42A0-1069-A2EA-08002B30309D}";
|
||||||
|
|
||||||
TRACE("(%p)->(flags=0x%08x)\n", this, dwFlags);
|
TRACE("(%p)->(flags=0x%08x)\n", this, dwFlags);
|
||||||
|
|
||||||
|
@ -138,6 +139,8 @@ class CDesktopFolderEnum :
|
||||||
AddToEnumList(_ILCreateMyComputer());
|
AddToEnumList(_ILCreateMyComputer());
|
||||||
if (IsNamespaceExtensionHidden(MyDocumentsClassString) < 1)
|
if (IsNamespaceExtensionHidden(MyDocumentsClassString) < 1)
|
||||||
AddToEnumList(_ILCreateMyDocuments());
|
AddToEnumList(_ILCreateMyDocuments());
|
||||||
|
if (IsNamespaceExtensionHidden(InternetClassString) < 1)
|
||||||
|
AddToEnumList(_ILCreateIExplore());
|
||||||
|
|
||||||
DWORD dwFetched;
|
DWORD dwFetched;
|
||||||
while((S_OK == pRegEnumerator->Next(1, &pidl, &dwFetched)) && dwFetched)
|
while((S_OK == pRegEnumerator->Next(1, &pidl, &dwFetched)) && dwFetched)
|
||||||
|
|
|
@ -185,12 +185,15 @@ HRESULT CGuidItemExtractIcon_CreateInstance(LPCITEMIDLIST pidl, REFIID iid, LPVO
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// FIXME: Delete these hacks and make HCR_GetIconW and registry working
|
||||||
if (IsEqualGUID(*riid, CLSID_MyComputer))
|
if (IsEqualGUID(*riid, CLSID_MyComputer))
|
||||||
initIcon->SetNormalIcon(swShell32Name, -IDI_SHELL_MY_COMPUTER);
|
initIcon->SetNormalIcon(swShell32Name, -IDI_SHELL_MY_COMPUTER);
|
||||||
else if (IsEqualGUID(*riid, CLSID_MyDocuments))
|
else if (IsEqualGUID(*riid, CLSID_MyDocuments))
|
||||||
initIcon->SetNormalIcon(swShell32Name, -IDI_SHELL_MY_DOCUMENTS);
|
initIcon->SetNormalIcon(swShell32Name, -IDI_SHELL_MY_DOCUMENTS);
|
||||||
else if (IsEqualGUID(*riid, CLSID_NetworkPlaces))
|
else if (IsEqualGUID(*riid, CLSID_NetworkPlaces))
|
||||||
initIcon->SetNormalIcon(swShell32Name, -IDI_SHELL_MY_NETWORK_PLACES);
|
initIcon->SetNormalIcon(swShell32Name, -IDI_SHELL_MY_NETWORK_PLACES);
|
||||||
|
else if (IsEqualGUID(*riid, CLSID_Internet))
|
||||||
|
initIcon->SetNormalIcon(swShell32Name, -IDI_SHELL_WEB_BROWSER);
|
||||||
else
|
else
|
||||||
initIcon->SetNormalIcon(swShell32Name, -IDI_SHELL_FOLDER);
|
initIcon->SetNormalIcon(swShell32Name, -IDI_SHELL_FOLDER);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue