mirror of
https://github.com/reactos/reactos.git
synced 2025-08-02 22:06:53 +00:00
[SHELL32] Implement Recycle bin cleanup handler
CORE-18942
This commit is contained in:
parent
f9bedd5ca5
commit
2e8f4e2c24
42 changed files with 345 additions and 0 deletions
|
@ -38,6 +38,7 @@ list(APPEND SOURCE
|
|||
CDropTargetHelper.cpp
|
||||
CEnumIDListBase.cpp
|
||||
CExtractIcon.cpp
|
||||
CRecycleBinCleaner.cpp
|
||||
folders.cpp
|
||||
iconcache.cpp
|
||||
propsheet.cpp
|
||||
|
|
149
dll/win32/shell32/CRecycleBinCleaner.cpp
Normal file
149
dll/win32/shell32/CRecycleBinCleaner.cpp
Normal file
|
@ -0,0 +1,149 @@
|
|||
/*
|
||||
* PROJECT: shell32
|
||||
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
|
||||
* PURPOSE: CRecycleBinCleaner implementation
|
||||
* COPYRIGHT: Copyright 2023-2025 Mark Jansen <mark.jansen@reactos.org>
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(shell);
|
||||
|
||||
|
||||
CLSID CLSID_RecycleBinCleaner = { 0x5ef4af3a, 0xf726, 0x11d0, 0xb8, 0xa2, 0x00, 0xc0, 0x4f, 0xc3, 0x09, 0xa4 };
|
||||
|
||||
struct CRecycleBinCleaner :
|
||||
public CComObjectRootEx<CComSingleThreadModel>,
|
||||
public CComCoClass<CRecycleBinCleaner, &CLSID_RecycleBinCleaner>,
|
||||
public IEmptyVolumeCache2
|
||||
{
|
||||
WCHAR m_wszVolume[4];
|
||||
|
||||
void
|
||||
OutputResourceString(DWORD dwResId, _Out_ LPWSTR *ppwszOutput)
|
||||
{
|
||||
CStringW Tmp(MAKEINTRESOURCEW(dwResId));
|
||||
SHStrDupW(Tmp, ppwszOutput);
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
// +IEmptyVolumeCache
|
||||
STDMETHODIMP Initialize(
|
||||
_In_ HKEY hkRegKey,
|
||||
_In_ LPCWSTR pcwszVolume,
|
||||
_Out_ LPWSTR* ppwszDisplayName,
|
||||
_Out_ LPWSTR* ppwszDescription,
|
||||
_Out_ DWORD* pdwFlags)
|
||||
{
|
||||
if (!pdwFlags)
|
||||
return E_POINTER;
|
||||
|
||||
*pdwFlags = EVCF_HASSETTINGS;
|
||||
|
||||
OutputResourceString(IDS_RECYCLE_CLEANER_DISPLAYNAME, ppwszDisplayName);
|
||||
OutputResourceString(IDS_RECYCLE_CLEANER_DESCRIPTION, ppwszDescription);
|
||||
|
||||
return StringCchCopyW(m_wszVolume, _countof(m_wszVolume), pcwszVolume);
|
||||
}
|
||||
|
||||
STDMETHODIMP GetSpaceUsed(
|
||||
_Out_ DWORDLONG* pdwlSpaceUsed,
|
||||
_In_opt_ IEmptyVolumeCacheCallBack* picb)
|
||||
{
|
||||
if (!pdwlSpaceUsed)
|
||||
return E_POINTER;
|
||||
|
||||
SHQUERYRBINFO bin = { sizeof(bin) };
|
||||
HRESULT hr = SHQueryRecycleBinW(m_wszVolume, &bin);
|
||||
if (FAILED_UNEXPECTEDLY(hr))
|
||||
{
|
||||
bin.i64Size = 0;
|
||||
}
|
||||
*pdwlSpaceUsed = bin.i64Size;
|
||||
if (picb)
|
||||
{
|
||||
picb->ScanProgress(bin.i64Size, EVCCBF_LASTNOTIFICATION, NULL);
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
STDMETHODIMP Purge(
|
||||
_In_ DWORDLONG dwlSpaceToFree,
|
||||
_In_opt_ IEmptyVolumeCacheCallBack *picb)
|
||||
{
|
||||
DWORDLONG dwlPrevious = 0;
|
||||
GetSpaceUsed(&dwlPrevious, NULL);
|
||||
|
||||
SHEmptyRecycleBinW(NULL, m_wszVolume, SHERB_NOCONFIRMATION | SHERB_NOPROGRESSUI | SHERB_NOSOUND);
|
||||
if (picb)
|
||||
{
|
||||
picb->PurgeProgress(dwlPrevious, 0, EVCCBF_LASTNOTIFICATION, NULL);
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
STDMETHODIMP ShowProperties(
|
||||
_In_ HWND hwnd)
|
||||
{
|
||||
CComHeapPtr<ITEMIDLIST> pidl;
|
||||
HRESULT hr;
|
||||
if (FAILED_UNEXPECTEDLY(hr = SHGetSpecialFolderLocation(hwnd, CSIDL_BITBUCKET, &pidl)))
|
||||
return hr;
|
||||
|
||||
SHELLEXECUTEINFOW seei = {sizeof(seei)};
|
||||
seei.hwnd = hwnd;
|
||||
seei.lpVerb = L"open";
|
||||
seei.nShow = SW_SHOWNORMAL;
|
||||
seei.fMask = SEE_MASK_IDLIST;
|
||||
seei.lpIDList = pidl;
|
||||
ShellExecuteExW(&seei);
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
STDMETHODIMP Deactivate(
|
||||
_Out_ DWORD* pdwFlags)
|
||||
{
|
||||
if (!pdwFlags)
|
||||
return E_POINTER;
|
||||
|
||||
*pdwFlags = 0;
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
// -IEmptyVolumeCache
|
||||
|
||||
|
||||
// +IEmptyVolumeCache2
|
||||
STDMETHODIMP InitializeEx(
|
||||
_In_ HKEY hkRegKey,
|
||||
_In_ LPCWSTR pcwszVolume,
|
||||
_In_ LPCWSTR pcwszKeyName,
|
||||
_Out_ LPWSTR* ppwszDisplayName,
|
||||
_Out_ LPWSTR* ppwszDescription,
|
||||
_Out_ LPWSTR* ppwszBtnText,
|
||||
_Out_ DWORD* pdwFlags)
|
||||
{
|
||||
OutputResourceString(IDS_RECYCLE_CLEANER_BUTTON_TEXT, ppwszBtnText);
|
||||
|
||||
return Initialize(hkRegKey, pcwszVolume, ppwszDisplayName, ppwszDescription, pdwFlags);
|
||||
}
|
||||
// -IEmptyVolumeCache2
|
||||
|
||||
|
||||
DECLARE_PROTECT_FINAL_CONSTRUCT();
|
||||
DECLARE_REGISTRY_RESOURCEID(IDR_RECYCLEBINCLEANER)
|
||||
DECLARE_NOT_AGGREGATABLE(CRecycleBinCleaner)
|
||||
|
||||
BEGIN_COM_MAP(CRecycleBinCleaner)
|
||||
COM_INTERFACE_ENTRY_IID(IID_IEmptyVolumeCache2, IEmptyVolumeCache2)
|
||||
COM_INTERFACE_ENTRY_IID(IID_IEmptyVolumeCache, IEmptyVolumeCache)
|
||||
COM_INTERFACE_ENTRY_IID(IID_IUnknown, IUnknown)
|
||||
END_COM_MAP()
|
||||
};
|
||||
|
||||
|
||||
OBJECT_ENTRY_AUTO(CLSID_RecycleBinCleaner, CRecycleBinCleaner)
|
|
@ -1000,6 +1000,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Обзор..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "Моят компютър"
|
||||
IDS_TITLE_MYNET "Моята мрежа"
|
||||
IDS_TITLE_BIN_1 "Кошче (пълно)"
|
||||
|
|
|
@ -1000,6 +1000,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Browse..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "My Computer"
|
||||
IDS_TITLE_MYNET "My Network Places"
|
||||
IDS_TITLE_BIN_1 "Recycle Bin (full)"
|
||||
|
|
|
@ -1008,6 +1008,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Procházet..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "Tento počítač"
|
||||
IDS_TITLE_MYNET "Místa v síti"
|
||||
IDS_TITLE_BIN_1 "Koš (plný)"
|
||||
|
|
|
@ -1007,6 +1007,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Gennemse..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "Min Computer"
|
||||
IDS_TITLE_MYNET "My Network Places"
|
||||
IDS_TITLE_BIN_1 "Recycle Bin (full)"
|
||||
|
|
|
@ -1001,6 +1001,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Durchsuchen..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "Arbeitsplatz"
|
||||
IDS_TITLE_MYNET "Netzwerkumgebung"
|
||||
IDS_TITLE_BIN_1 "Papierkorb (voll)"
|
||||
|
|
|
@ -1000,6 +1000,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Αναζήτηση..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "Ο υπολογιστής μου"
|
||||
IDS_TITLE_MYNET "My Network Places"
|
||||
IDS_TITLE_BIN_1 "Κάδος ανακύκλωσης (γεμάτος)"
|
||||
|
|
|
@ -1000,6 +1000,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Browse..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "My Computer"
|
||||
IDS_TITLE_MYNET "My Network Places"
|
||||
IDS_TITLE_BIN_1 "Recycle Bin (full)"
|
||||
|
|
|
@ -1000,6 +1000,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Browse..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "My Computer"
|
||||
IDS_TITLE_MYNET "My Network Places"
|
||||
IDS_TITLE_BIN_1 "Recycle Bin (full)"
|
||||
|
|
|
@ -1009,6 +1009,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Examinar..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "Mi equipo"
|
||||
IDS_TITLE_MYNET "Mis sitios de red"
|
||||
IDS_TITLE_BIN_1 "Papelera (llena)"
|
||||
|
|
|
@ -1007,6 +1007,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Sirvi..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "Minu arvuti"
|
||||
IDS_TITLE_MYNET "Minu võrgukohad"
|
||||
IDS_TITLE_BIN_1 "Prügikast (täis)"
|
||||
|
|
|
@ -1005,6 +1005,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Arakatu..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "Ordenagailua"
|
||||
IDS_TITLE_MYNET "Nire sarelekuak"
|
||||
IDS_TITLE_BIN_1 "Zakarrontzia (betea)"
|
||||
|
|
|
@ -1000,6 +1000,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Selaa..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "Oma Tietokone"
|
||||
IDS_TITLE_MYNET "My Network Places"
|
||||
IDS_TITLE_BIN_1 "Recycle Bin (full)"
|
||||
|
|
|
@ -1000,6 +1000,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Parcourir..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "Poste de travail"
|
||||
IDS_TITLE_MYNET "Mon réseau"
|
||||
IDS_TITLE_BIN_1 "Corbeille (pleine)"
|
||||
|
|
|
@ -1008,6 +1008,10 @@ BEGIN
|
|||
IDS_SEARCH_BROWSEITEM "עיון..."
|
||||
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "המחשב שלי"
|
||||
IDS_TITLE_MYNET "מיקומי הרשת שלי"
|
||||
IDS_TITLE_BIN_1 "Recycle Bin (full)"
|
||||
|
|
|
@ -1002,6 +1002,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "ब्राउज़ करें..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "मेरा कंप्यूटर"
|
||||
IDS_TITLE_MYNET "मेरे नेटवर्क स्थान"
|
||||
IDS_TITLE_BIN_1 "Recycle Bin (full)"
|
||||
|
|
|
@ -999,6 +999,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Böngészés..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "Számítógép"
|
||||
IDS_TITLE_MYNET "Hálózati helyek"
|
||||
IDS_TITLE_BIN_1 "Lomtár (tele)"
|
||||
|
|
|
@ -997,6 +997,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Jelajah..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "Komputer Saya"
|
||||
IDS_TITLE_MYNET "Tempat Jaringan Saya"
|
||||
IDS_TITLE_BIN_1 "Tampungan Daur Ulang (penuh)"
|
||||
|
|
|
@ -1000,6 +1000,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Esplora..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "Risorse del Computer"
|
||||
IDS_TITLE_MYNET "Risorse di rete"
|
||||
IDS_TITLE_BIN_1 "Cestino (pieno)"
|
||||
|
|
|
@ -997,6 +997,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "参照..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "マイ コンピュータ"
|
||||
IDS_TITLE_MYNET "マイ ネットワーク"
|
||||
IDS_TITLE_BIN_1 "ごみ箱 (いっぱい)"
|
||||
|
|
|
@ -1007,6 +1007,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "찾아보기..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "내 컴퓨터"
|
||||
IDS_TITLE_MYNET "내 네트워크 환경"
|
||||
IDS_TITLE_BIN_1 "Recycle Bin (full)"
|
||||
|
|
|
@ -1000,6 +1000,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Bladeren..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "My Computer"
|
||||
IDS_TITLE_MYNET "My Network Places"
|
||||
IDS_TITLE_BIN_1 "Recycle Bin (full)"
|
||||
|
|
|
@ -1000,6 +1000,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Bla gjennom..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "Min datamaskin"
|
||||
IDS_TITLE_MYNET "Mine nettverkssteder"
|
||||
IDS_TITLE_BIN_1 "Papirkurv (full)"
|
||||
|
|
|
@ -1009,6 +1009,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Przeglądaj..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "Mój komputer"
|
||||
IDS_TITLE_MYNET "Moje miejsca sieciowe"
|
||||
IDS_TITLE_BIN_1 "Kosz (pełny)"
|
||||
|
|
|
@ -1000,6 +1000,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Procurar..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "Meu Computador"
|
||||
IDS_TITLE_MYNET "Meus Locais de Rede"
|
||||
IDS_TITLE_BIN_1 "Lixeira (cheia)"
|
||||
|
|
|
@ -1009,6 +1009,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Procurar..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "O Meu Computador"
|
||||
IDS_TITLE_MYNET "Os Meus Locais na Rede"
|
||||
IDS_TITLE_BIN_1 "Reciclagem (cheia)"
|
||||
|
|
|
@ -1008,6 +1008,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Răsfoire..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "Computerul meu"
|
||||
IDS_TITLE_MYNET "Locaţii în reţea"
|
||||
IDS_TITLE_BIN_1 "Coş de reciclare (plin)"
|
||||
|
|
|
@ -1009,6 +1009,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Обзор..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "Мой компьютер"
|
||||
IDS_TITLE_MYNET "Сетевое окружение"
|
||||
IDS_TITLE_BIN_1 "Корзина (полная)"
|
||||
|
|
|
@ -1000,6 +1000,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Prehľadávať..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "Tento počítač"
|
||||
IDS_TITLE_MYNET "Miesta v sieti"
|
||||
IDS_TITLE_BIN_1 "Kôš (plný)"
|
||||
|
|
|
@ -1000,6 +1000,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Prebrskaj..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "My Computer"
|
||||
IDS_TITLE_MYNET "My Network Places"
|
||||
IDS_TITLE_BIN_1 "Recycle Bin (full)"
|
||||
|
|
|
@ -1007,6 +1007,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Shfleto..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "Kompjuteri Im"
|
||||
IDS_TITLE_MYNET "Vendi Rrjetit Tim"
|
||||
IDS_TITLE_BIN_1 "Plehra (plot)"
|
||||
|
|
|
@ -1000,6 +1000,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Bläddra..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "Den här datorn"
|
||||
IDS_TITLE_MYNET "Mina nätverksplatser"
|
||||
IDS_TITLE_BIN_1 "Papperskorgen (full)"
|
||||
|
|
|
@ -1009,6 +1009,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Gözat..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "Bilgisayarım"
|
||||
IDS_TITLE_MYNET "Ağ Bağlantılarım"
|
||||
IDS_TITLE_BIN_1 "Recycle Bin (full)"
|
||||
|
|
|
@ -1000,6 +1000,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "Огляд..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "Мій комп'ютер"
|
||||
IDS_TITLE_MYNET "Мережне оточення"
|
||||
IDS_TITLE_BIN_1 "Кошик (повний)"
|
||||
|
|
|
@ -1010,6 +1010,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "浏览..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "我的电脑"
|
||||
IDS_TITLE_MYNET "网上邻居"
|
||||
IDS_TITLE_BIN_1 "回收站(满)"
|
||||
|
|
|
@ -1008,6 +1008,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "瀏覽..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "我的電腦"
|
||||
IDS_TITLE_MYNET "網絡上的芳鄰"
|
||||
IDS_TITLE_BIN_1 "Recycle Bin (full)"
|
||||
|
|
|
@ -1009,6 +1009,10 @@ BEGIN
|
|||
|
||||
IDS_SEARCH_BROWSEITEM "瀏覽..."
|
||||
|
||||
IDS_RECYCLE_CLEANER_DISPLAYNAME "Recycle Bin"
|
||||
IDS_RECYCLE_CLEANER_DESCRIPTION "The Recycle Bin contains files you have deleted from your computer. These files are not permanently removed until you empty the Recycle Bin."
|
||||
IDS_RECYCLE_CLEANER_BUTTON_TEXT "&View Files"
|
||||
|
||||
IDS_TITLE_MYCOMP "我的電腦"
|
||||
IDS_TITLE_MYNET "網路上的芳鄰"
|
||||
IDS_TITLE_BIN_1 "Recycle Bin (full)"
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include <wininet.h>
|
||||
#include <shlobj.h>
|
||||
#include <shobjidl.h>
|
||||
#include <emptyvc.h>
|
||||
#include <ndk/rtlfuncs.h>
|
||||
#include <fmifs/fmifs.h>
|
||||
#include <tchar.h>
|
||||
|
|
43
dll/win32/shell32/res/rgs/recyclebincleaner.rgs
Normal file
43
dll/win32/shell32/res/rgs/recyclebincleaner.rgs
Normal file
|
@ -0,0 +1,43 @@
|
|||
HKCR
|
||||
{
|
||||
NoRemove CLSID
|
||||
{
|
||||
ForceRemove {5ef4af3a-f726-11d0-b8a2-00c04fc309a4} = s 'Recycle bin cleaner'
|
||||
{
|
||||
InprocServer32 = s '%MODULE%'
|
||||
{
|
||||
val ThreadingModel = s 'Apartment'
|
||||
}
|
||||
DefaultIcon = s '%MODULE%,-33'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HKLM
|
||||
{
|
||||
NoRemove SOFTWARE
|
||||
{
|
||||
NoRemove Microsoft
|
||||
{
|
||||
NoRemove Windows
|
||||
{
|
||||
NoRemove CurrentVersion
|
||||
{
|
||||
NoRemove Explorer
|
||||
{
|
||||
NoRemove VolumeCaches
|
||||
{
|
||||
ForceRemove 'Recycle Bin' = s '{5ef4af3a-f726-11d0-b8a2-00c04fc309a4}'
|
||||
}
|
||||
NoRemove MyComputer
|
||||
{
|
||||
ForceRemove cleanuppath = e '%%SystemRoot%%\System32\cleanmgr.exe /D %%c'
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -33,3 +33,4 @@ IDR_SENDTOMENU REGISTRY "res/rgs/sendtomenu.rgs"
|
|||
IDR_COPYASPATHMENU REGISTRY "res/rgs/copyaspathmenu.rgs"
|
||||
IDR_COPYTOMENU REGISTRY "res/rgs/copytomenu.rgs"
|
||||
IDR_MOVETOMENU REGISTRY "res/rgs/movetomenu.rgs"
|
||||
IDR_RECYCLEBINCLEANER REGISTRY "res/rgs/recyclebincleaner.rgs"
|
||||
|
|
|
@ -286,6 +286,11 @@
|
|||
#define IDS_SEARCH_LOCALDRIVES 10241
|
||||
#define IDS_SEARCH_BROWSEITEM 10244
|
||||
|
||||
/* Recycle Bin Cleaner */
|
||||
#define IDS_RECYCLE_CLEANER_DISPLAYNAME 10291
|
||||
#define IDS_RECYCLE_CLEANER_DESCRIPTION 10292
|
||||
#define IDS_RECYCLE_CLEANER_BUTTON_TEXT 10293
|
||||
|
||||
/* Desktop icon titles */
|
||||
#define IDS_TITLE_MYCOMP 30386
|
||||
#define IDS_TITLE_MYNET 30387
|
||||
|
@ -918,3 +923,4 @@
|
|||
#define IDR_COPYTOMENU 159
|
||||
#define IDR_MOVETOMENU 160
|
||||
#define IDR_COPYASPATHMENU 161
|
||||
#define IDR_RECYCLEBINCLEANER 162
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue