├── .gitignore ├── .gitmodules ├── CtrlsResize.cpp ├── CtrlsResize.h ├── DllLoader.h ├── LICENSE ├── ReadMe.txt ├── USBBackup.cpp ├── USBClean.cpp ├── USBOblivion.cpp ├── USBOblivion.h ├── USBOblivion.pot ├── USBOblivion.rc ├── USBOblivionDlg.cpp ├── USBOblivionDlg.h ├── USBRegistry.cpp ├── clean.cmd ├── cs.h ├── event.h ├── pack.cmd ├── res ├── USBOblivion.ico ├── USBOblivion.rc2 ├── USBOblivion32.exe.04.po ├── USBOblivion32.exe.07.po ├── USBOblivion32.exe.08.po ├── USBOblivion32.exe.0C.po ├── USBOblivion32.exe.0a.po ├── USBOblivion32.exe.10.po ├── USBOblivion32.exe.12.po ├── USBOblivion32.exe.13.po ├── USBOblivion32.exe.15.po ├── USBOblivion32.exe.16.po ├── USBOblivion32.exe.19.po ├── USBOblivion32.exe.1d.po ├── USBOblivion32.exe.1f.po ├── USBOblivion32.exe.20.po ├── done.ico ├── eject.ico ├── error.ico ├── info.ico ├── lock.ico ├── regedit.ico ├── search.ico └── warning.ico ├── resource.h ├── stdafx.cpp ├── stdafx.h ├── targetver.h ├── thread.h ├── vc_crt_fix.asm ├── vc_crt_fix_impl.cpp ├── vs2015 ├── USBOblivion.sln ├── USBOblivion32.vcxproj ├── USBOblivion32.vcxproj.filters ├── USBOblivion64.vcxproj └── USBOblivion64.vcxproj.filters ├── vs2017 ├── USBOblivion.sln ├── USBOblivion32.vcxproj ├── USBOblivion32.vcxproj.filters ├── USBOblivion64.vcxproj └── USBOblivion64.vcxproj.filters └── vs2022 ├── USBOblivion.sln ├── USBOblivion32.vcxproj ├── USBOblivion32.vcxproj.filters ├── USBOblivion64.vcxproj └── USBOblivion64.vcxproj.filters /.gitignore: -------------------------------------------------------------------------------- 1 | .vs 2 | /build 3 | /Win32 4 | /x64 5 | *.aps 6 | *.po_ 7 | *.user 8 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "Localization"] 2 | path = Localization 3 | url = https://github.com/raspopov/po-localization.git 4 | -------------------------------------------------------------------------------- /CtrlsResize.cpp: -------------------------------------------------------------------------------- 1 | // This is an open source non-commercial project. Dear PVS-Studio, please check it. 2 | // PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com 3 | // 4 | // CtrlsResize.cpp 5 | // 6 | // Copyright (c) Nikolay Raspopov, 2009-2023. 7 | // This file is part of USB Oblivion (https://www.cherubicsoft.com/en/projects/usboblivion/) 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | // 23 | 24 | #include "stdafx.h" 25 | #include "CtrlsResize.h" 26 | 27 | #ifdef _DEBUG 28 | #undef THIS_FILE 29 | static char THIS_FILE[]=__FILE__; 30 | #define new DEBUG_NEW 31 | #endif 32 | 33 | // Construction/Destruction 34 | CCtrlResize::CControlInfo::CControlInfo() noexcept 35 | : controlID(0) 36 | , bindtype (BIND_UNKNOWN) 37 | , rectInitial( 0, 0, 0, 0 ) 38 | , m_pControlWnd(nullptr) 39 | { 40 | } 41 | 42 | CCtrlResize::CControlInfo::CControlInfo(int _controlID, int _bindtype, const CRect& _rectInitial, CWnd* _pWnd) noexcept 43 | : controlID ( _controlID ) 44 | , bindtype ( _bindtype ) 45 | , rectInitial ( _rectInitial ) 46 | , m_pControlWnd ( _pWnd ) 47 | { 48 | } 49 | 50 | CCtrlResize::CCtrlResize() noexcept 51 | : m_pWnd (nullptr) 52 | { 53 | } 54 | 55 | CCtrlResize::~CCtrlResize() 56 | { 57 | Clear(); 58 | } 59 | 60 | void CCtrlResize::Clear() 61 | { 62 | m_pWnd = nullptr; 63 | for ( int i = 0; i < m_aCtrls.GetSize(); ++i ) 64 | { 65 | delete m_aCtrls.GetAt(i); 66 | } 67 | m_aCtrls.RemoveAll(); 68 | } 69 | 70 | int CCtrlResize::AddControl (int _controlID, int _bindtype, const CRect &_rectInitial) 71 | { 72 | m_aCtrls.Add (new CControlInfo (_controlID, _bindtype, _rectInitial, 0)); 73 | return 0; 74 | } 75 | int CCtrlResize::AddControl (CWnd* _pWnd, int _bindtype, const CRect &_rectInitial) 76 | { 77 | m_aCtrls.Add (new CControlInfo (0, _bindtype, _rectInitial, _pWnd)); 78 | return 0; 79 | } 80 | 81 | int CCtrlResize::FixControls() 82 | { 83 | if ( ! m_pWnd || ! IsWindow( m_pWnd->m_hWnd ) ) 84 | return 1; 85 | 86 | m_pWnd->GetClientRect(&m_rectInitialParent); 87 | m_pWnd->ScreenToClient(&m_rectInitialParent); 88 | 89 | for ( int i = 0; i < m_aCtrls.GetSize(); ++i ) 90 | { 91 | if ( CControlInfo* pInfo = m_aCtrls.GetAt( i ) ) 92 | { 93 | if ( const CWnd* pControlWnd = ( pInfo->m_pControlWnd ? pInfo->m_pControlWnd : m_pWnd->GetDlgItem( pInfo->controlID ) ) ) 94 | { 95 | pControlWnd->GetWindowRect( &pInfo->rectInitial ); 96 | m_pWnd->ScreenToClient( &pInfo->rectInitial ); 97 | } 98 | } 99 | } 100 | return 0; 101 | } 102 | 103 | void CCtrlResize::SetParentWnd(CWnd *pWnd) noexcept 104 | { 105 | m_pWnd = pWnd; 106 | } 107 | 108 | void CCtrlResize::OnSize() 109 | { 110 | if ( ! m_pWnd || ! IsWindow( m_pWnd->m_hWnd ) ) 111 | return; 112 | 113 | CRect rectWnd; 114 | m_pWnd->GetClientRect(&rectWnd); 115 | 116 | for ( int i = 0; i < m_aCtrls.GetSize(); ++i ) 117 | { 118 | if ( const CControlInfo* pInfo = m_aCtrls.GetAt( i ) ) 119 | { 120 | if ( CWnd* pControlWnd = ( pInfo->m_pControlWnd ? pInfo->m_pControlWnd : m_pWnd->GetDlgItem( pInfo->controlID ) ) ) 121 | { 122 | CRect rr = pInfo->rectInitial; 123 | if (pInfo->bindtype & BIND_RIGHT) 124 | rr.right = rectWnd.right - ( m_rectInitialParent.Width() - pInfo->rectInitial.right ); 125 | if (pInfo->bindtype & BIND_BOTTOM) 126 | rr.bottom = rectWnd.bottom - ( m_rectInitialParent.Height() - pInfo->rectInitial.bottom ); 127 | if (pInfo->bindtype & BIND_TOP) 128 | ; 129 | else 130 | rr.top = rr.bottom - pInfo->rectInitial.Height(); 131 | if (pInfo->bindtype & BIND_LEFT) 132 | ; 133 | else 134 | rr.left = rr.right - pInfo->rectInitial.Width(); 135 | pControlWnd->MoveWindow( &rr ); 136 | pControlWnd->Invalidate( FALSE ); 137 | } 138 | } 139 | } 140 | } 141 | -------------------------------------------------------------------------------- /CtrlsResize.h: -------------------------------------------------------------------------------- 1 | // 2 | // CtrlsResize.h 3 | // 4 | // Copyright (c) Nikolay Raspopov, 2009-2023. 5 | // This file is part of USB Oblivion (https://www.cherubicsoft.com/en/projects/usboblivion/) 6 | // 7 | // This program is free software; you can redistribute it and/or modify 8 | // it under the terms of the GNU General Public License as published by 9 | // the Free Software Foundation; either version 2 of the License, or 10 | // (at your option) any later version. 11 | // 12 | // This program is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | // GNU General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU General Public License along 18 | // with this program; if not, write to the Free Software Foundation, Inc., 19 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | // 21 | 22 | #pragma once 23 | 24 | const int BIND_TOP = 0x01; 25 | const int BIND_LEFT = 0x02; 26 | const int BIND_RIGHT = 0x04; 27 | const int BIND_BOTTOM = 0x08; 28 | const int BIND_ALL = 0x0F; 29 | const int BIND_UNKNOWN = 0x00; 30 | 31 | class CCtrlResize 32 | { 33 | public: 34 | CCtrlResize() noexcept; 35 | ~CCtrlResize(); 36 | void Clear(); 37 | void OnSize (); 38 | void SetParentWnd (CWnd *pWnd) noexcept; 39 | int FixControls (); 40 | int AddControl (int _controlID, int _bindtype, const CRect& _rectInitial = CRect( 0, 0, 0, 0 )); 41 | int AddControl (CWnd *_pControl, int _bindtype, const CRect& _rectInitial = CRect( 0, 0, 0, 0 )); 42 | 43 | class CControlInfo 44 | { 45 | public: 46 | CControlInfo() noexcept; 47 | CControlInfo(int _controlID, int _bindtype, const CRect& _rectInitial, CWnd* _m_pControlWnd = nullptr) noexcept; 48 | int controlID; 49 | int bindtype; 50 | CRect rectInitial; 51 | CWnd* m_pControlWnd; 52 | }; 53 | 54 | private: 55 | CWnd* m_pWnd; 56 | CArray m_aCtrls; 57 | CRect m_rectInitialParent; 58 | }; 59 | -------------------------------------------------------------------------------- /DllLoader.h: -------------------------------------------------------------------------------- 1 | // 2 | // DllLoader.h 3 | // 4 | // Copyright (c) Nikolay Raspopov, 2009-2023. 5 | // This file is part of USB Oblivion (https://www.cherubicsoft.com/en/projects/usboblivion/) 6 | // 7 | // This program is free software; you can redistribute it and/or modify 8 | // it under the terms of the GNU General Public License as published by 9 | // the Free Software Foundation; either version 2 of the License, or 10 | // (at your option) any later version. 11 | // 12 | // This program is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | // GNU General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU General Public License along 18 | // with this program; if not, write to the Free Software Foundation, Inc., 19 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | // 21 | 22 | #pragma once 23 | 24 | template 25 | struct TypeOnlyStruct 26 | { 27 | typedef FuncTypeTTT FuncType; 28 | }; 29 | 30 | #define FuncPtrType(funcType) TypeOnlyStruct::FuncType 31 | #define FuncLoad(x,y) ((x).LoadFunc((dyn_##y),(#y))) 32 | 33 | class CDllLoader 34 | { 35 | private: 36 | CString m_sDllName; 37 | HINSTANCE m_pDll; 38 | 39 | public: 40 | inline CDllLoader() noexcept 41 | : m_pDll ( nullptr ) 42 | { 43 | } 44 | 45 | inline CDllLoader(LPCTSTR szDllName, bool bloadNow = true) 46 | : m_sDllName ( szDllName ) 47 | , m_pDll ( nullptr ) 48 | { 49 | if ( bloadNow ) 50 | { 51 | LoadLibrary(); 52 | } 53 | } 54 | 55 | ~CDllLoader() 56 | { 57 | Free(); 58 | } 59 | 60 | inline bool Load(LPCTSTR szDllName) 61 | { 62 | // existing lib loaded? 63 | if ( m_pDll ) 64 | return true; 65 | 66 | m_sDllName = szDllName; 67 | 68 | return LoadLibrary(); 69 | } 70 | 71 | inline operator bool() const noexcept 72 | { 73 | return ( m_pDll != nullptr ); 74 | } 75 | 76 | template < typename FuncTTT > 77 | FuncTTT LoadFunc(FuncTTT& c, LPCSTR fNameStr) 78 | { 79 | // existing lib loaded? 80 | if ( ! LoadLibrary() ) 81 | return (FuncTTT)nullptr; 82 | 83 | // load func from dll 84 | FuncTTT fPtr = (FuncTTT)GetProcAddress ( m_pDll, fNameStr ); 85 | if ( ! fPtr ) 86 | { 87 | ATLTRACE( "ERROR: cannot locate function name (%s) from dll\n", fNameStr ); 88 | return (FuncTTT)nullptr; 89 | } 90 | c = fPtr; 91 | return fPtr; 92 | } 93 | 94 | void Free() noexcept 95 | { 96 | if ( m_pDll ) 97 | { 98 | ATLTRACE( _T("Unloading DLL %s ...\n"), (LPCTSTR)m_sDllName ); 99 | ATLVERIFY( ::FreeLibrary( m_pDll ) ); 100 | ATLTRACE( _T("DLL %s successfully unloaded.\n"), (LPCTSTR)m_sDllName ); 101 | m_pDll = nullptr; 102 | } 103 | } 104 | 105 | bool LoadLibrary(HINSTANCE hInstance = nullptr) 106 | { 107 | // existing lib loaded? 108 | if ( m_pDll ) 109 | return true; 110 | 111 | // load from: 112 | // 1. The directory from which the application loaded. 113 | // 2. The current directory. 114 | // 3. The Windows system directory. 115 | // 4. The Windows directory. 116 | // 5. The directories that are listed in the PATH environment variable. 117 | ATLTRACE( _T("Trying LoadLibrary %s ...\n"), (LPCTSTR)m_sDllName ); 118 | m_pDll = ::LoadLibrary( m_sDllName ); 119 | if ( m_pDll ) 120 | return true; 121 | 122 | // 6. The module directory (if dll). 123 | if ( hInstance ) 124 | { 125 | CString self; 126 | GetModuleFileName( hInstance, self.GetBuffer( MAX_PATH + 1 ), MAX_PATH ); 127 | self.ReleaseBuffer (); 128 | self = self.Mid( 0, self.ReverseFind( _T('\\') ) + 1 ); 129 | m_sDllName = self + m_sDllName; 130 | 131 | ATLTRACE( _T("Trying LoadLibrary %s ...\n"), (LPCTSTR)m_sDllName ); 132 | m_pDll = ::LoadLibrary( m_sDllName ); 133 | if ( m_pDll ) 134 | return true; 135 | } 136 | 137 | ATLTRACE( _T("ERROR: cannot load library %s\n"), (LPCTSTR)m_sDllName ); 138 | return false; 139 | } 140 | }; 141 | -------------------------------------------------------------------------------- /ReadMe.txt: -------------------------------------------------------------------------------- 1 | USB Oblivion 2 | --------------------------------- 3 | 4 | Copyright (C) Nikolay Raspopov, 2009-2023. 5 | https://www.cherubicsoft.com/en/projects/usboblivion/ 6 | 7 | USB Oblivion utility designed to erase all traces of (broken) USB-connected drives and CD-ROMs from the registry in Windows XP, Windows 2003, Windows Vista, Windows 7, Windows 8, Windows 10 32/64-bit versions. 8 | 9 | The utility has a test mode of operation, i.e. without actually removing data from the registry, and, just in case, creates a .reg-file to undo any changes. There is also a fully automatic mode. 10 | 11 | Warnings 12 | ---------------------- 13 | 14 | * Eject all USB drives before clean 15 | * Required an administrative privileges 16 | * Required an immediate Windows restart after clean 17 | * No you can not clean Windows installed on USB drive 18 | 19 | FAQ 20 | ---------------------- 21 | 22 | Q: Why Windows after clean can't detect my USB drive? 23 | 24 | A: Cached data about USB drive somehow (for example you ignored a Windows restart or just no luck) was written back to the registry, so drive now erroneously partially registered. You must run utility again to clean up the mess and immediately restart Window. Repeat twice. 25 | 26 | Q: Why my USB Hewlett-Packard printer not working after clean? 27 | 28 | A: Some HP printers comes with "HP Smart Install" technology - when a USB CD-ROM with drivers to the printer appears in the system on printer connection. To avoid this you must: 29 | 1) Delete the printer from the system before clean 30 | 2) Switch off "HP Smart Install" on both the computer and the printer using the proprietary HP utility SIUtility.exe (or SIUtility64.exe) (usually in the UTILS folder of CD with printer drivers) 31 | 3) After that printer will be re-installed as a regular USB printer and utility will not affect it anymore 32 | 33 | More info about "HP Smart Install" here: http://www.hp.com/hpinfo/newsroom/press_kits/2010/plugandprint/pdf/Smart_Install_FAQ.pdf 34 | 35 | Q: How to restore a saved .reg-file? 36 | 37 | A1: You can also restore from a System Restore Point: https://support.microsoft.com/en-us/help/12415/windows-10-recovery-options 38 | 39 | A2: You must import saved .reg-file using System account, the administrative privileges are not sufficient: 40 | 1) Download PsExec utility here: https://docs.microsoft.com/en-us/sysinternals/downloads/psexec 41 | 2) Run cmd.exe as Administrator and type on its console window: 42 | 43 | psexec.exe -i -s regedit.exe 44 | 45 | 3) In opened Registry Editor import .reg-file using menu File -> Import... 46 | 4) Restart Windows 47 | 48 | Usage 49 | ---------------------- 50 | 51 | USBOblivion[32|64].exe [command-line options] 52 | 53 | Command-line options: 54 | --------- 55 | 56 | -enable - Do real clean (simulation otherwise) 57 | -auto - Automatic run 58 | -nosave - Don't save a registry backup file 59 | -save:filename - Save a registry backup to this file 60 | -log:filename - Save working log to this file 61 | -norestorepoint - Don't create a System Restore Point 62 | -norestart - Don't restart Windows 63 | -noexplorer - Don't close Windows Explorer 64 | -lang:XX - Use language XX (hex-code) 65 | -silent - Hidden mode (if possible) 66 | -? - Show this help 67 | 68 | Languages 69 | --------- 70 | 71 | -lang:04 - Simplified Chinese (by 天路) 72 | -lang:07 - German (by Kristine Baumgart) 73 | -lang:08 - Greek (by Geogeo) 74 | -lang:09 - English (by Nikolay Raspopov) 75 | -lang:0a - Spanish (by CesarRG, Boris Gilmar Terrazas Miranda) 76 | -lang:0c - French (by Mathieu Bergounioux, Rico-sos) 77 | -lang:10 - Italian 78 | -lang:12 - Korean (by 4Li) 79 | -lang:13 - Dutch (by Jeroen Westera) 80 | -lang:15 - Polish (by dmocha) 81 | -lang:16 - Brazilian Portuguese (by Paulo Guzmán, Newton Apostolico) 82 | -lang:19 - Russian (by Nikolay Raspopov) 83 | -lang:1d - Swedish (by Ake Engelbrektson, Sopor) 84 | -lang:1f - Turkish (by Murat) 85 | -lang:20 - Czech (by Jaaka) 86 | 87 | System Requirements 88 | ---------------------- 89 | 90 | * Windows 2000/XP/2003/Vista/2008/7/8/8.1/10 32/64-bit 91 | * About 3 Mb of disk space, no installation needed 92 | * Administrative privileges 93 | 94 | Changes 95 | ---------------------- 96 | 97 | 1.17.1.0 98 | 99 | Updated Italian translation 100 | Added a version number to the window title 101 | 102 | 1.17.0.0 103 | 104 | * Fixed the wrong format of key names contains quotes and slashes in the backup reg-file 105 | * Improved backup reg-file creation speed 106 | 107 | 1.16.0.0 108 | 109 | * Added cleaning of "UserAssist" keys 110 | 111 | 1.15.1.0 112 | 113 | * Preserving desktop settings 114 | * Updated German translation (by Mr. Update) 115 | 116 | 1.15.0.0 117 | 118 | * Added cleaning of "Bags" and "BagMRU" keys 119 | * Updated Swedish translation (by Sopor) 120 | 121 | 1.14.0.0 122 | 123 | * Added cleaning of "Control\DeviceClasses\{6ead3d82-25ec-46bc-b7fd-c1f0df8f5037}" key 124 | 125 | 1.13.0.0 126 | 127 | * Added "Microsoft-Windows-Partition/Diagnostic" journal cleanup 128 | 129 | 1.12.3.0 130 | 131 | * Added Simplified Chinese translation (by 天路) 132 | 133 | 1.12.2.0 134 | 135 | * Added cleaning of "Unknown USB Device" entries 136 | * Updated German translation (by Steven) 137 | 138 | 1.12.1.1 139 | 140 | * Fixed compatibility for very old CPU 141 | * Updated Italian translation 142 | 143 | 1.12.1.0 144 | 145 | * Added Windows Services closing (VDS, ReadyBoost, SuperFetch) 146 | * Added ReadyBoost entries removing 147 | * Added Dutch translation (by Jeroen Westera) 148 | * Updated Spanish translation (by Boris Gilmar Terrazas Miranda) 149 | 150 | 1.12.0.0 151 | 152 | * Added cleaning of "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet\*\Control\DeviceMigration" key 153 | * Added cleaning of "HKEY_LOCAL_MACHINE\SYSTEM\Setup\Upgrade" key 154 | * Added cleaning of "HKEY_LOCAL_MACHINE\SYSTEM\Setup\SetupapiLogStatus" key 155 | * Added removing of "%SystemRoot%\inf\setupapi.ev*" files (* = 1,2,3) 156 | 157 | 1.11.6.0 158 | 159 | * Added restart Windows and close Windows Explorer options 160 | 161 | 1.11.5.0 162 | 163 | * Updated Greek translation (by Geogeo) 164 | * Updated Brazilian Portuguese translation (by Newton Apostolico) 165 | * Updated French translation (by Rico-sos) 166 | 167 | 1.11.4.0 168 | 169 | * Added Czech translation (by Jaaka) 170 | 171 | 1.11.3.0 172 | 173 | * Added Turkish translation (by Murat) 174 | * Windows 2000 compatibility 175 | * Updated Polish translation (by dmocha) 176 | 177 | 1.11.2.0 178 | 179 | * Added "Microsoft-Windows-DeviceSetupManager/Operational" journal cleanup 180 | * Added "Microsoft-Windows-DeviceSetupManager/Admin" journal cleanup 181 | * Added "Microsoft-Windows-Kernel-PnP/Configuration" journal cleanup 182 | * Added "Microsoft-Windows-Kernel-ShimEngine/Operational" journal cleanup 183 | * Added "Control\usbstor" registry key selective cleanup 184 | * Fixed USB-HDD cleanup 185 | * Minor fixes 186 | * Updated Italian translation 187 | * Updated Polish translation (by dmocha) 188 | * Updated Korean translation (by 4Li) 189 | 190 | 1.11.1.0 191 | 192 | * Added "HKLM\SOFTWARE\Microsoft\Windows Search\VolumeInfoCache" registry key cleanup 193 | * Extended "%SystemRoot%\setup*.log" and "%SystemRoot%\inf\setupapi*.log" files deletion 194 | * Minor fixes 195 | * Updated Italian translation 196 | 197 | 1.11.0.0 (11 Oct 2016) 198 | 199 | * Added Windows 10 support 200 | * Added "Microsoft-Windows-DriverFrameworks-UserMode/Operational" journal cleanup 201 | * Added "Enum\SWD\WPDBUSENUM" registry key cleanup 202 | * Added file deletion on reboot 203 | * Added creation of System Restore Point (and "-norestorepoint" command-line option) 204 | * Added "-log" command-line option 205 | * Added "-save" command-line option 206 | * Added VS2015 compilation 207 | * Fixed registry backup 208 | * Fixed "DeviceContainers" registry key cleanup 209 | * Fixed too aggressive cleaning of "usbflags" registry key 210 | * Translations must be updated 211 | 212 | 1.10.3.0 (13 Apr 2015) 213 | 214 | * Added German translation (by Kristine Baumgart) 215 | * Project moved from closed Google Code to SourceForge.Net 216 | * Added VS2013 compilation 217 | 218 | More cleanup methods 219 | ---------------------- 220 | 221 | USN Journal 222 | --------- 223 | 224 | Some traces can be left inside NTFS file system itself in form of "USN Journal" (Update Sequence Number Journal), or "Change Journal". It is possible to delete this journal by using standard Microsoft utility FSUTIL.EXE. 225 | 226 | Caution: 227 | Deleting the journal impacts the Indexing Service, File Replication Service (FRS), Remote Installation Service (RIS), and Remote Storage, because it would require these services to perform a complete (and time-consuming) scan of the volume. This in turn negatively impacts FRS SYSVOL replication and replication between DFS link alternates while the volume is being rescanned. 228 | Deleting or disabling an active journal is very time consuming, because the system must access all the records in the master file table (MFT) and set the last USN attribute to zero. This process can take several minutes, and can continue after the system restarts, if necessary. During this process, the change journal is not considered active, nor is it disabled. While the system is disabling the journal, it cannot be accessed, and all journal operations return errors. You should use extreme care when disabling an active journal, because it adversely affects other applications using the journal. 229 | 230 | For example to clear disk "C:" journal you can use next command line: 231 | 232 | fsutil usn deletejournal C: 233 | 234 | More info here: https://technet.microsoft.com/en-us/library/cc788042(v=ws.11).aspx 235 | 236 | License 237 | ---------------------- 238 | 239 | This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. 240 | 241 | This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 242 | 243 | You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 244 | -------------------------------------------------------------------------------- /USBBackup.cpp: -------------------------------------------------------------------------------- 1 | // This is an open source non-commercial project. Dear PVS-Studio, please check it. 2 | // PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com 3 | // 4 | // USBBackup.cpp 5 | // 6 | // Copyright (c) Nikolay Raspopov, 2009-2023. 7 | // This file is part of USB Oblivion (https://www.cherubicsoft.com/en/projects/usboblivion/) 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | // 23 | 24 | #include "stdafx.h" 25 | #include "USBOblivion.h" 26 | #include "USBOblivionDlg.h" 27 | 28 | #ifdef _DEBUG 29 | #define new DEBUG_NEW 30 | #endif 31 | 32 | inline CString Escape(CString str) 33 | { 34 | str.Replace( _T( "\\" ), _T( "\\\\" ) ); 35 | str.Replace( _T( "\"" ), _T( "\\\"" ) ); 36 | return str; 37 | } 38 | 39 | bool CUSBOblivionDlg::PrepareBackup() 40 | { 41 | if ( !m_bSave ) 42 | return true; 43 | 44 | CString sPath = m_sSave; 45 | 46 | if ( sPath.IsEmpty() ) 47 | { 48 | CString sComputer; 49 | DWORD dwComputerLen = MAX_PATH; 50 | GetComputerName( sComputer.GetBuffer( MAX_PATH + 1 ), &dwComputerLen ); 51 | sComputer.ReleaseBuffer(); 52 | 53 | CString sLogFolder; 54 | SHGetFolderPath( GetSafeHwnd(), CSIDL_PERSONAL, nullptr, SHGFP_TYPE_CURRENT, 55 | sLogFolder.GetBuffer( MAX_PATH + 1 ) ); 56 | sLogFolder.ReleaseBuffer(); 57 | sLogFolder.TrimRight( _T( "\\" ) ); 58 | 59 | sPath.Format( 60 | #ifdef WIN64 61 | _T( "%s\\USBOblivion-64-%s-%s.reg" ), 62 | #else 63 | _T( "%s\\USBOblivion-32-%s-%s.reg" ), 64 | #endif 65 | (LPCTSTR)sLogFolder, (LPCTSTR)sComputer, (LPCTSTR)CTime::GetCurrentTime().Format( _T( "%y%m%d-%H%M%S" ) ) ); 66 | } 67 | 68 | if ( ! m_oFile.Open( sPath, CFile::modeCreate | CFile::modeWrite | CFile::typeBinary | CFile::shareExclusive ) ) 69 | { 70 | Log( LoadString( IDS_ERROR_FILE_CREATE ) + sPath, Error ); 71 | return false; 72 | } 73 | 74 | setvbuf( m_oFile.m_pStream, nullptr, _IOFBF, 4 * 1024 * 1024 ); // 4 MB 75 | 76 | try 77 | { 78 | Write( _T( "\xfeffWindows Registry Editor Version 5.00\r\n" ) ); 79 | } 80 | catch ( CException* e ) 81 | { 82 | e->Delete(); 83 | Log( LoadString( IDS_ERROR_FILE_WRITE ) + sPath, Error ); 84 | return false; 85 | } 86 | 87 | Log( LoadString( IDS_FILE_REG ) + sPath, Regedit ); 88 | 89 | return true; 90 | } 91 | 92 | void CUSBOblivionDlg::FinishBackup() 93 | { 94 | if ( m_oFile == INVALID_HANDLE_VALUE ) 95 | return; 96 | 97 | m_oFile.Close(); 98 | } 99 | 100 | void CUSBOblivionDlg::Write(const CString& sText) 101 | { 102 | if ( m_oFile == INVALID_HANDLE_VALUE ) 103 | return; 104 | 105 | m_oFile.Write( (LPCTSTR)sText, (UINT)( sText.GetLength() * sizeof( TCHAR ) ) ); 106 | } 107 | 108 | void CUSBOblivionDlg::SaveKey( HKEY hRoot, LPCTSTR szKeyName, LPCTSTR szValueName ) 109 | { 110 | if ( m_oFile == INVALID_HANDLE_VALUE ) 111 | return; 112 | 113 | TCHAR pszName[ 1024 ] = {}; 114 | DWORD cchName; 115 | DWORD dwType; 116 | BYTE pszValue[ 4096 ] = {}; 117 | DWORD cchValue; 118 | 119 | HKEY hKey = nullptr; 120 | LSTATUS ret = RegOpenKeyFull( hRoot, szKeyName, KEY_READ, &hKey ); 121 | if ( ret == ERROR_SUCCESS ) 122 | { 123 | Write( CString( _T( "\r\n[" ) ) + GetKeyName( hRoot ) + _T( "\\" ) + 124 | szKeyName + _T( "]\r\n" ) ); 125 | 126 | for ( DWORD dwIndex = 0; ; ++dwIndex ) 127 | { 128 | pszName[ 0 ] = 0; 129 | cchName = _countof( pszName ); 130 | dwType = 0; 131 | pszValue[ 0 ] = 0; 132 | pszValue[ 1 ] = 0; 133 | cchValue = sizeof( pszValue ); 134 | ret = SHEnumValue( hKey, dwIndex, pszName, &cchName, &dwType, 135 | pszValue, &cchValue ); 136 | if ( ret != ERROR_SUCCESS ) 137 | break; 138 | pszValue[ cchValue ] = 0; 139 | pszValue[ cchValue + 1 ] = 0; 140 | if ( !szValueName || CmpStrI( szValueName, pszName ) ) 141 | { 142 | SaveValue( pszName, dwType, pszValue, cchValue ); 143 | if ( szValueName ) 144 | break; 145 | } 146 | } 147 | 148 | if ( !szValueName ) 149 | { 150 | for ( DWORD dwIndex = 0; ; ++dwIndex ) 151 | { 152 | pszName[ 0 ] = 0; 153 | cchName = _countof( pszName ); 154 | ret = SHEnumKeyEx( hKey, dwIndex, pszName, &cchName ); 155 | if ( ret != ERROR_SUCCESS ) 156 | break; 157 | SaveKey( hRoot, CString( szKeyName ) + _T( "\\" ) + pszName ); 158 | } 159 | } 160 | 161 | RegCloseKey( hRoot ); 162 | } 163 | } 164 | 165 | void CUSBOblivionDlg::SaveValue( LPCTSTR szName, DWORD dwType, LPBYTE pData, DWORD dwSize ) 166 | { 167 | CString str; 168 | 169 | if ( m_oFile == INVALID_HANDLE_VALUE ) 170 | return; 171 | 172 | if ( *szName ) 173 | { 174 | Write( _T( "\"" ) + Escape( szName ) + _T( "\"=" ) ); 175 | } 176 | else if ( dwType != REG_SZ || dwSize != 0 ) 177 | { 178 | Write( _T( "@=" ) ); 179 | } 180 | 181 | switch ( dwType ) 182 | { 183 | case REG_SZ: 184 | Write( _T( "\"" ) + Escape( (LPCTSTR)pData ) + _T( "\"" ) ); 185 | break; 186 | 187 | case REG_DWORD: 188 | ASSERT( dwSize == sizeof( DWORD ) ); 189 | str.Format( _T( "dword:%08x" ), *(DWORD*)pData ); 190 | Write( str ); 191 | break; 192 | 193 | case REG_NONE: 194 | ASSERT( dwSize == 0 ); 195 | Write( _T( "hex(0):" ) ); 196 | break; 197 | 198 | default: 199 | switch ( dwType ) 200 | { 201 | case REG_BINARY: 202 | Write( _T( "hex:" ) ); 203 | break; 204 | case REG_EXPAND_SZ: 205 | Write( _T( "hex(2):" ) ); 206 | break; 207 | case REG_MULTI_SZ: 208 | Write( _T( "hex(7):" ) ); 209 | break; 210 | case REG_QWORD: 211 | ASSERT( dwSize == sizeof( QWORD ) ); 212 | Write( _T( "hex(b):" ) ); 213 | break; 214 | default: 215 | str.Format( _T( "hex(%08x):" ), dwType ); 216 | Write( str ); 217 | } 218 | for ( DWORD i = 0; i < dwSize; ++i ) 219 | { 220 | if ( i == 0 ) 221 | str.Format( _T( "%02x" ), pData[ i ] ); 222 | else 223 | str.Format( _T( ",%02x" ), pData[ i ] ); 224 | Write( str ); 225 | } 226 | } 227 | Write( _T( "\r\n" ) ); 228 | } 229 | -------------------------------------------------------------------------------- /USBClean.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raspopov/USBOblivion/0e0e0ce7d4dcdeef178bada5630ccb00387fc72e/USBClean.cpp -------------------------------------------------------------------------------- /USBOblivion.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raspopov/USBOblivion/0e0e0ce7d4dcdeef178bada5630ccb00387fc72e/USBOblivion.cpp -------------------------------------------------------------------------------- /USBOblivion.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raspopov/USBOblivion/0e0e0ce7d4dcdeef178bada5630ccb00387fc72e/USBOblivion.h -------------------------------------------------------------------------------- /USBOblivion.pot: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: USBOblivion32.exe\n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: en\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "X-Generator: Poedit 3.2.2\n" 13 | 14 | #: DIALOGCONTROL.102.Button.1 STRING.178 15 | msgid "Clean" 16 | msgstr "" 17 | 18 | #: DIALOGCONTROL.102.Button.1002 19 | msgid "Do real clean (simulation otherwise)" 20 | msgstr "" 21 | 22 | #: DIALOGCONTROL.102.Button.1003 23 | msgid "Save backup .reg-file" 24 | msgstr "" 25 | 26 | #: DIALOGCONTROL.102.Button.1004 27 | msgid "Reboot Windows (RECOMMENDED)" 28 | msgstr "" 29 | 30 | #: DIALOGCONTROL.102.Button.1005 31 | msgid "Close Windows Explorer (RECOMMENDED)" 32 | msgstr "" 33 | 34 | #: DIALOGCONTROL.102.Button.2 35 | msgid "Exit" 36 | msgstr "" 37 | 38 | #: MENUITEM.130.32771 39 | msgid "Copy" 40 | msgstr "" 41 | 42 | #: MENUITEM.130.32772 43 | msgid "Copy all" 44 | msgstr "" 45 | 46 | #: STRING.129 47 | msgid "" 48 | "Usage:\n" 49 | "\n" 50 | "USBOblivion[32|64].exe [params]\n" 51 | "\n" 52 | "Params:\n" 53 | "\n" 54 | "-enable - Do real clean (simulation otherwise)\n" 55 | "-auto - Automatic run\n" 56 | "-nosave - Don't save a registry backup file\n" 57 | "-save:filename - Save a registry backup to this file\n" 58 | "-log:filename - Save working log to this file\n" 59 | "-norestorepoint - Don't create a System Restore Point\n" 60 | "-norestart - Don't restart Windows\n" 61 | "-noexplorer - Don't close Windows Explorer\n" 62 | "-lang:XX - Use language XX (hex-code)\n" 63 | "-silent - Hidden mode (if possible)\n" 64 | "-? - Show this help\n" 65 | msgstr "" 66 | 67 | #: STRING.130 68 | msgid "WARNING! Eject all flash drives before cleaning please." 69 | msgstr "" 70 | 71 | #: STRING.132 72 | msgid "Process mode: real (data will be cleaned)." 73 | msgstr "" 74 | 75 | #: STRING.133 76 | msgid "Process mode: simulation (no data will be cleaned)." 77 | msgstr "" 78 | 79 | #: STRING.134 80 | msgid "File creation error: " 81 | msgstr "" 82 | 83 | #: STRING.135 84 | msgid "File write error: " 85 | msgstr "" 86 | 87 | #: STRING.136 88 | msgid "Backup file: " 89 | msgstr "" 90 | 91 | #: STRING.137 92 | msgid "Done." 93 | msgstr "" 94 | 95 | #: STRING.138 96 | msgid "Gathering data from system registry..." 97 | msgstr "" 98 | 99 | #: STRING.139 100 | msgid "Found drives (will be ignored): " 101 | msgstr "" 102 | 103 | #: STRING.140 104 | msgid "Cleaning..." 105 | msgstr "" 106 | 107 | #: STRING.141 108 | msgid "Removing key: " 109 | msgstr "" 110 | 111 | #: STRING.142 112 | msgid "Removing value: " 113 | msgstr "" 114 | 115 | #: STRING.143 116 | msgid "Gathering user data..." 117 | msgstr "" 118 | 119 | #: STRING.144 120 | msgid "Gathering data about user: " 121 | msgstr "" 122 | 123 | #: STRING.145 124 | msgid "Found users: " 125 | msgstr "" 126 | 127 | #: STRING.146 128 | msgid "Found mount points: " 129 | msgstr "" 130 | 131 | #: STRING.147 132 | msgid "Found Explorer drives: " 133 | msgstr "" 134 | 135 | #: STRING.148 136 | msgid "Remove error: " 137 | msgstr "" 138 | 139 | #: STRING.149 140 | msgid "Gathering mount point's data..." 141 | msgstr "" 142 | 143 | #: STRING.150 144 | msgid "Found ControlSets: " 145 | msgstr "" 146 | 147 | #: STRING.151 148 | msgid "Found keys: " 149 | msgstr "" 150 | 151 | #: STRING.152 152 | msgid "Found values: " 153 | msgstr "" 154 | 155 | #: STRING.153 156 | msgid "Key access denied: " 157 | msgstr "" 158 | 159 | #: STRING.154 160 | msgid "Disk %c: has been inserted." 161 | msgstr "" 162 | 163 | #: STRING.155 164 | msgid "Logged-in under system account successfully." 165 | msgstr "" 166 | 167 | #: STRING.156 168 | msgid "Failed to login under system account." 169 | msgstr "" 170 | 171 | #: STRING.157 172 | msgid "Re-starting under administrator..." 173 | msgstr "" 174 | 175 | #: STRING.158 176 | msgid "Disk %c: has been ejected." 177 | msgstr "" 178 | 179 | #: STRING.159 180 | msgid "Failed to eject disk %c:." 181 | msgstr "" 182 | 183 | #: STRING.160 184 | msgid "Ejecting disk %c:..." 185 | msgstr "" 186 | 187 | #: STRING.161 188 | msgid "Removing file: " 189 | msgstr "" 190 | 191 | #: STRING.162 192 | msgid "Gathering file data..." 193 | msgstr "" 194 | 195 | #: STRING.163 196 | msgid "Cleaning journal: " 197 | msgstr "" 198 | 199 | #: STRING.164 200 | msgid "Gathering journal data..." 201 | msgstr "" 202 | 203 | #: STRING.165 204 | msgid "File removal error:" 205 | msgstr "" 206 | 207 | #: STRING.166 208 | msgid "Removing file at boot-time:" 209 | msgstr "" 210 | 211 | #: STRING.167 212 | msgid "Journal cleanup error:" 213 | msgstr "" 214 | 215 | #: STRING.168 216 | msgid "Creating System Restore Point..." 217 | msgstr "" 218 | 219 | #: STRING.169 220 | msgid "Closing Windows Explorer..." 221 | msgstr "" 222 | 223 | #: STRING.170 224 | msgid "Gathering Windows Search cache data..." 225 | msgstr "" 226 | 227 | #: STRING.171 228 | msgid "System Restore Point creation error: " 229 | msgstr "" 230 | 231 | #: STRING.172 232 | msgid "System Restore Point created successfully." 233 | msgstr "" 234 | 235 | #: STRING.173 236 | msgid "System Restore Point disabled." 237 | msgstr "" 238 | 239 | #: STRING.174 240 | msgid "Restarting Windows..." 241 | msgstr "" 242 | 243 | #: STRING.175 244 | msgid "Restarting Windows Explorer..." 245 | msgstr "" 246 | 247 | #: STRING.176 248 | msgid "Failed to restart Windows: " 249 | msgstr "" 250 | 251 | #: STRING.177 252 | msgid "Simulate" 253 | msgstr "" 254 | 255 | #: STRING.179 256 | msgid "Stopping Windows Services..." 257 | msgstr "" 258 | -------------------------------------------------------------------------------- /USBOblivion.rc: -------------------------------------------------------------------------------- 1 | // Microsoft Visual C++ generated resource script. 2 | // 3 | #include "resource.h" 4 | 5 | #define APSTUDIO_READONLY_SYMBOLS 6 | ///////////////////////////////////////////////////////////////////////////// 7 | // 8 | // Generated from the TEXTINCLUDE 2 resource. 9 | // 10 | #ifndef APSTUDIO_INVOKED 11 | #include "targetver.h" 12 | #endif 13 | #include "afxres.h" 14 | 15 | ///////////////////////////////////////////////////////////////////////////// 16 | #undef APSTUDIO_READONLY_SYMBOLS 17 | 18 | ///////////////////////////////////////////////////////////////////////////// 19 | // Neutral resources 20 | 21 | #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU) 22 | LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL 23 | #pragma code_page(1251) 24 | 25 | ///////////////////////////////////////////////////////////////////////////// 26 | // 27 | // Icon 28 | // 29 | 30 | // Icon with lowest ID value placed first to ensure application icon 31 | // remains consistent on all systems. 32 | IDR_MAINFRAME ICON "res\\USBOblivion.ico" 33 | 34 | IDI_INF ICON "res\\info.ico" 35 | 36 | IDI_WARN ICON "res\\warning.ico" 37 | 38 | IDI_ERR ICON "res\\error.ico" 39 | 40 | IDI_SEARCH ICON "res\\search.ico" 41 | 42 | IDI_DONE ICON "res\\done.ico" 43 | 44 | IDI_REGEDIT ICON "res\\regedit.ico" 45 | 46 | IDI_LOCK ICON "res\\lock.ico" 47 | 48 | IDI_EJECT ICON "res\\eject.ico" 49 | 50 | 51 | ///////////////////////////////////////////////////////////////////////////// 52 | // 53 | // PO 54 | // 55 | 56 | 4 PO "res\\USBOblivion32.exe.04.po_" 57 | 58 | 7 PO "res\\USBOblivion32.exe.07.po_" 59 | 60 | 8 PO "res\\USBOblivion32.exe.08.po_" 61 | 62 | 10 PO "res\\USBOblivion32.exe.0a.po_" 63 | 64 | 12 PO "res\\USBOblivion32.exe.0c.po_" 65 | 66 | 16 PO "res\\USBOblivion32.exe.10.po_" 67 | 68 | 18 PO "res\\USBOblivion32.exe.12.po_" 69 | 70 | 19 PO "res\\USBOblivion32.exe.13.po_" 71 | 72 | 21 PO "res\\USBOblivion32.exe.15.po_" 73 | 74 | 22 PO "res\\USBOblivion32.exe.16.po_" 75 | 76 | 25 PO "res\\USBOblivion32.exe.19.po_" 77 | 78 | 29 PO "res\\USBOblivion32.exe.1d.po_" 79 | 80 | 31 PO "res\\USBOblivion32.exe.1f.po_" 81 | 82 | 32 PO "res\\USBOblivion32.exe.20.po_" 83 | 84 | 85 | ///////////////////////////////////////////////////////////////////////////// 86 | // 87 | // Menu 88 | // 89 | 90 | IDR_CONTEXT MENU 91 | BEGIN 92 | POPUP "" 93 | BEGIN 94 | MENUITEM "Copy", ID_COPY 95 | MENUITEM "Copy all", ID_COPY_ALL 96 | END 97 | END 98 | 99 | 100 | ///////////////////////////////////////////////////////////////////////////// 101 | // 102 | // Dialog 103 | // 104 | 105 | IDD_USBOBLIVION_DIALOG DIALOGEX 0, 0, 401, 228 106 | STYLE DS_SETFONT | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME 107 | EXSTYLE WS_EX_APPWINDOW 108 | CAPTION "" 109 | FONT 8, "MS Shell Dlg", 0, 0, 0x1 110 | BEGIN 111 | DEFPUSHBUTTON "Clean",IDOK,267,205,60,16 112 | PUSHBUTTON "Exit",IDCANCEL,334,205,60,16 113 | CONTROL "",IDC_REPORT,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_ALIGNLEFT | LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,7,7,387,160 114 | CONTROL "Do real clean (simulation otherwise)",IDC_ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,171,250,10 115 | CONTROL "Save backup .reg-file",IDC_SAVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,184,250,10 116 | CONTROL "Close Windows Explorer (RECOMMENDED)",IDC_EXPLORER, 117 | "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,198,250,10 118 | CONTROL "Reboot Windows (RECOMMENDED)",IDC_REBOOT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,212,250,10 119 | END 120 | 121 | 122 | ///////////////////////////////////////////////////////////////////////////// 123 | // 124 | // DESIGNINFO 125 | // 126 | 127 | #ifdef APSTUDIO_INVOKED 128 | GUIDELINES DESIGNINFO 129 | BEGIN 130 | IDD_USBOBLIVION_DIALOG, DIALOG 131 | BEGIN 132 | LEFTMARGIN, 7 133 | RIGHTMARGIN, 394 134 | VERTGUIDE, 257 135 | TOPMARGIN, 7 136 | BOTTOMMARGIN, 221 137 | END 138 | END 139 | #endif // APSTUDIO_INVOKED 140 | 141 | 142 | #ifdef APSTUDIO_INVOKED 143 | ///////////////////////////////////////////////////////////////////////////// 144 | // 145 | // TEXTINCLUDE 146 | // 147 | 148 | 1 TEXTINCLUDE 149 | BEGIN 150 | "resource.h\0" 151 | END 152 | 153 | 2 TEXTINCLUDE 154 | BEGIN 155 | "#ifndef APSTUDIO_INVOKED\r\n" 156 | "#include ""targetver.h""\r\n" 157 | "#endif\r\n" 158 | "#include ""afxres.h""\r\n" 159 | "\0" 160 | END 161 | 162 | 3 TEXTINCLUDE 163 | BEGIN 164 | "#define _AFX_NO_SPLITTER_RESOURCES\r\n" 165 | "#define _AFX_NO_OLE_RESOURCES\r\n" 166 | "#define _AFX_NO_TRACKER_RESOURCES\r\n" 167 | "#define _AFX_NO_PROPERTY_RESOURCES\r\n" 168 | "\r\n" 169 | "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)\r\n" 170 | "LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL\r\n" 171 | "#pragma code_page(1251)\r\n" 172 | "#include ""res\\USBOblivion.rc2""\r\n" 173 | "#endif\r\n" 174 | "\0" 175 | END 176 | 177 | #endif // APSTUDIO_INVOKED 178 | 179 | 180 | ///////////////////////////////////////////////////////////////////////////// 181 | // 182 | // AFX_DIALOG_LAYOUT 183 | // 184 | 185 | IDD_USBOBLIVION_DIALOG AFX_DIALOG_LAYOUT 186 | BEGIN 187 | 0 188 | END 189 | 190 | 191 | ///////////////////////////////////////////////////////////////////////////// 192 | // 193 | // String Table 194 | // 195 | 196 | STRINGTABLE 197 | BEGIN 198 | IDS_ABOUT "Usage:\n\nUSBOblivion[32|64].exe [params]\n\nParams:\n\n-enable - Do real clean (simulation otherwise)\n-auto - Automatic run\n-nosave - Don't save a registry backup file\n-save:filename - Save a registry backup to this file\n-log:filename - Save working log to this file\n-norestorepoint - Don't create a System Restore Point\n-norestart - Don't restart Windows\n-noexplorer - Don't close Windows Explorer\n-lang:XX - Use language XX (hex-code)\n-silent - Hidden mode (if possible)\n-? - Show this help\n" 199 | IDS_WARNING "WARNING! Eject all flash drives before cleaning please." 200 | IDS_MODE_WORK "Process mode: real (data will be cleaned)." 201 | IDS_MODE_SIM "Process mode: simulation (no data will be cleaned)." 202 | IDS_ERROR_FILE_CREATE "File creation error: " 203 | IDS_ERROR_FILE_WRITE "File write error: " 204 | IDS_FILE_REG "Backup file: " 205 | IDS_RUN_DONE "Done." 206 | IDS_RUN_REGISTRY "Gathering data from system registry..." 207 | IDS_RUN_DISK_FOUND "Found drives (will be ignored): " 208 | IDS_RUN_CLEAN "Cleaning..." 209 | IDS_DELETE_KEY "Removing key: " 210 | IDS_DELETE_VALUE "Removing value: " 211 | IDS_RUN_USERS "Gathering user data..." 212 | END 213 | 214 | STRINGTABLE 215 | BEGIN 216 | AFX_IDS_APP_TITLE "USBOblivion" 217 | AFX_IDS_COMPANY_NAME "Raspopov" 218 | AFX_IDS_APP_ID "USBOblivion" 219 | END 220 | 221 | STRINGTABLE 222 | BEGIN 223 | IDS_RUN_USER "Gathering data about user: " 224 | IDS_RUN_USERS_FOUND "Found users: " 225 | IDS_RUN_MOUNT_FOUND "Found mount points: " 226 | IDS_RUN_EXPLORER_FOUND "Found Explorer drives: " 227 | IDS_DELETE_ERROR "Remove error: " 228 | IDS_RUN_MOUNTS "Gathering mount point's data..." 229 | IDS_RUN_CONTROLSETS_FOUND "Found ControlSets: " 230 | IDS_RUN_KEYS_FOUND "Found keys: " 231 | IDS_RUN_VALUES_FOUND "Found values: " 232 | IDS_ERROR_ACCESS "Key access denied: " 233 | IDS_DISK_MOUNT "Disk %c: has been inserted." 234 | IDS_RUN_IMPERSONATE "Logged-in under system account successfully." 235 | IDS_ERROR_PROCESS_ACCESS "Failed to login under system account." 236 | IDS_AS_ADMIN "Re-starting under administrator..." 237 | IDS_DISK_UNMOUNT "Disk %c: has been ejected." 238 | IDS_ERROR_EJECT "Failed to eject disk %c:." 239 | END 240 | 241 | STRINGTABLE 242 | BEGIN 243 | IDS_RUN_EJECT "Ejecting disk %c:..." 244 | IDS_DELETE_FILE "Removing file: " 245 | IDS_RUN_FILES "Gathering file data..." 246 | IDS_RUN_LOG "Cleaning journal: " 247 | IDS_RUN_LOGS "Gathering journal data..." 248 | IDS_DELETE_FILE_ERROR "File removal error:" 249 | IDS_DELETE_FILE_BOOT "Removing file at boot-time:" 250 | IDS_RUN_LOG_ERROR "Journal cleanup error:" 251 | IDS_RESTORE_POINT "Creating System Restore Point..." 252 | IDS_RUN_EXPLORER "Closing Windows Explorer..." 253 | IDS_RUN_WINDOWS_SEARCH "Gathering Windows Search cache data..." 254 | IDS_ERROR_RESTORE_POINT "System Restore Point creation error: " 255 | IDS_OK_RESTORE_POINT "System Restore Point created successfully." 256 | IDS_DISABLED_RESTORE_POINT "System Restore Point disabled." 257 | IDS_RUN_REBOOT "Restarting Windows..." 258 | IDS_RUN_START_EXPLORER "Restarting Windows Explorer..." 259 | END 260 | 261 | STRINGTABLE 262 | BEGIN 263 | IDS_ERROR_REBOOT "Failed to restart Windows: " 264 | IDS_SIMULATE "Simulate" 265 | IDS_CLEAN "Clean" 266 | IDS_RUN_SERVICES "Stopping Windows Services..." 267 | END 268 | 269 | #endif // Neutral resources 270 | ///////////////////////////////////////////////////////////////////////////// 271 | 272 | 273 | 274 | #ifndef APSTUDIO_INVOKED 275 | ///////////////////////////////////////////////////////////////////////////// 276 | // 277 | // Generated from the TEXTINCLUDE 3 resource. 278 | // 279 | #define _AFX_NO_SPLITTER_RESOURCES 280 | #define _AFX_NO_OLE_RESOURCES 281 | #define _AFX_NO_TRACKER_RESOURCES 282 | #define _AFX_NO_PROPERTY_RESOURCES 283 | 284 | #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS) 285 | LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL 286 | #pragma code_page(1251) 287 | #include "res\USBOblivion.rc2" 288 | #endif 289 | 290 | ///////////////////////////////////////////////////////////////////////////// 291 | #endif // not APSTUDIO_INVOKED 292 | 293 | -------------------------------------------------------------------------------- /USBOblivionDlg.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raspopov/USBOblivion/0e0e0ce7d4dcdeef178bada5630ccb00387fc72e/USBOblivionDlg.cpp -------------------------------------------------------------------------------- /USBOblivionDlg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raspopov/USBOblivion/0e0e0ce7d4dcdeef178bada5630ccb00387fc72e/USBOblivionDlg.h -------------------------------------------------------------------------------- /USBRegistry.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raspopov/USBOblivion/0e0e0ce7d4dcdeef178bada5630ccb00387fc72e/USBRegistry.cpp -------------------------------------------------------------------------------- /clean.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | for /r %%i in (*.po_) do del /q "%%i" && echo Cleaning %%i... 3 | for /r %%i in (*.p_) do del /q "%%i" && echo Cleaning %%i... 4 | for /r %%i in (*.trg) do del /q "%%i" && echo Cleaning %%i... 5 | for /r %%i in (*.aps) do del /q "%%i" && echo Cleaning %%i... 6 | for /r %%i in (*.ncb) do del /q "%%i" && echo Cleaning %%i... 7 | for /r %%i in (*.sdf) do del /q "%%i" && echo Cleaning %%i... 8 | for /r %%i in (*.ipch) do del /q "%%i" && echo Cleaning %%i... 9 | for /r %%i in (*.VC.db) do del /q "%%i" && echo Cleaning %%i... 10 | for /d /r %%i in (*.*) do if exist "%%i\Win32\" rd /s /q "%%i\Win32\" && echo Cleaning %%i\Win32\... 11 | for /d /r %%i in (*.*) do if exist "%%i\x64\" rd /s /q "%%i\x64\" && echo Cleaning %%i\x64\... 12 | rd /s /q ".\ipch\" 2>nul: 13 | rd /s /q ".\Win32\" 2>nul: 14 | rd /s /q ".\x64\" 2>nul: 15 | -------------------------------------------------------------------------------- /cs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raspopov/USBOblivion/0e0e0ce7d4dcdeef178bada5630ccb00387fc72e/cs.h -------------------------------------------------------------------------------- /event.h: -------------------------------------------------------------------------------- 1 | // 2 | // event.h 3 | // 4 | // Copyright (c) Nikolay Raspopov, 2009-2023. 5 | // This file is part of USB Oblivion (https://www.cherubicsoft.com/en/projects/usboblivion/) 6 | // 7 | // This program is free software; you can redistribute it and/or modify 8 | // it under the terms of the GNU General Public License as published by 9 | // the Free Software Foundation; either version 2 of the License, or 10 | // (at your option) any later version. 11 | // 12 | // This program is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | // GNU General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU General Public License along 18 | // with this program; if not, write to the Free Software Foundation, Inc., 19 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | // 21 | 22 | #pragma once 23 | 24 | #include "cs.h" 25 | 26 | namespace c4u { 27 | 28 | class event 29 | { 30 | public: 31 | event (BOOL manual = TRUE, BOOL initial = FALSE, LPCTSTR name = nullptr) noexcept 32 | { 33 | m_event = CreateEvent (nullptr, manual, initial, name); 34 | } 35 | ~event () noexcept 36 | { 37 | if (m_event) 38 | CloseHandle (m_event); 39 | } 40 | bool create (BOOL manual = TRUE, BOOL initial = FALSE, LPCTSTR name = nullptr) noexcept 41 | { 42 | if (m_event) 43 | CloseHandle (m_event); 44 | m_event = CreateEvent (nullptr, manual, initial, name); 45 | return (m_event != nullptr); 46 | } 47 | inline operator HANDLE () const noexcept 48 | { 49 | return m_event; 50 | } 51 | inline bool check () const noexcept 52 | { 53 | return (CoWaitForSingleObject (m_event, 0) == WAIT_OBJECT_0); 54 | } 55 | inline DWORD wait (const DWORD timeout) const noexcept 56 | { 57 | return CoWaitForSingleObject (m_event, timeout); 58 | } 59 | inline bool set () noexcept 60 | { 61 | return (SetEvent (m_event) != FALSE); 62 | } 63 | inline bool reset () noexcept 64 | { 65 | return (ResetEvent (m_event) != FALSE); 66 | } 67 | inline bool pulse () noexcept 68 | { 69 | return (PulseEvent (m_event) != FALSE); 70 | } 71 | struct set_event { 72 | inline void operator () (const HANDLE h) noexcept 73 | { 74 | SetEvent (h); 75 | } 76 | }; 77 | struct reset_event { 78 | inline void operator () (const HANDLE h) noexcept 79 | { 80 | ResetEvent (h); 81 | } 82 | }; 83 | struct pulse_event { 84 | inline void operator () (const HANDLE h) noexcept 85 | { 86 | PulseEvent (h); 87 | } 88 | }; 89 | protected: 90 | event (const event&); 91 | event& operator = (const event&); 92 | 93 | HANDLE m_event; 94 | }; 95 | 96 | } 97 | -------------------------------------------------------------------------------- /pack.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | setlocal 3 | 4 | set zip="%ProgramFiles%\WinRar\winrar.exe" 5 | if exist %zip% goto zip 6 | set zip="%ProgramFiles(x86)%\WinRar\winrar.exe" 7 | if exist %zip% goto zip 8 | set zip="%ProgramW6432%\WinRar\winrar.exe" 9 | if exist %zip% goto zip 10 | echo The WinRAR utility is missing. Please go to http://www.rarlab.com/download.htm and install WinRAR. 11 | pause 12 | exit /b 1 13 | :zip 14 | 15 | for /F "tokens=3" %%i in ( 'findstr ProductVersion res\USBOblivion.rc2' ) do set version=%%~i 16 | if not "%version%" == "" goto version 17 | echo Failed to calculate version. 18 | pause 19 | exit /b 1 20 | :version 21 | 22 | md "..\redist" 2>nul: 23 | del "..\redist\usboblivion-%version%.zip" 2>nul: 24 | %zip% a -m5 -ed -ep -r -k -s -tl -afzip -cfg- "..\redist\usboblivion-%version%.zip" ReadMe.txt Win32\release\USBOblivion32.exe x64\release\USBOblivion64.exe 25 | %zip% a -m5 -ed -ep -r -k -s -tl -afzip -cfg- "..\redist\usboblivion-%version%_symbols.zip" Win32\release\USBOblivion32.pdb x64\release\USBOblivion64.pdb 26 | %zip% a -m5 -ed -ep1 -r -k -s -tl -afzip -cfg- "..\redist\usboblivion-%version%_src.zip" *.* -x*.db -x*.opensdf -x*.user -x*.aps -x*.sdf -x*.ncb -x*.suo -x*.zip -x*.po_ -x*\.vs\* -x*\.svn\* -x*\Win32\* -x*\x64\* -x*\ipch\* -------------------------------------------------------------------------------- /res/USBOblivion.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raspopov/USBOblivion/0e0e0ce7d4dcdeef178bada5630ccb00387fc72e/res/USBOblivion.ico -------------------------------------------------------------------------------- /res/USBOblivion.rc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raspopov/USBOblivion/0e0e0ce7d4dcdeef178bada5630ccb00387fc72e/res/USBOblivion.rc2 -------------------------------------------------------------------------------- /res/USBOblivion32.exe.04.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: USBOblivion32.exe\n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Language-Team: \n" 7 | "MIME-Version: 1.0\n" 8 | "Content-Type: text/plain; charset=UTF-8\n" 9 | "Content-Transfer-Encoding: 8bit\n" 10 | "X-Generator: Poedit 2.4\n" 11 | "Last-Translator: 天路 \n" 12 | "Plural-Forms: nplurals=1; plural=0;\n" 13 | "Language: zh_CN\n" 14 | 15 | #: DIALOGCONTROL.102.Button.1 STRING.178 16 | msgid "Clean" 17 | msgstr "清除" 18 | 19 | #: DIALOGCONTROL.102.Button.1002 20 | msgid "Do real clean (simulation otherwise)" 21 | msgstr "做真正的清除(否则模拟)" 22 | 23 | #: DIALOGCONTROL.102.Button.1003 24 | msgid "Save backup .reg-file" 25 | msgstr "保存备份 .reg 文件" 26 | 27 | #: DIALOGCONTROL.102.Button.1004 28 | msgid "Reboot Windows (RECOMMENDED)" 29 | msgstr "重启 Windows(建议)" 30 | 31 | #: DIALOGCONTROL.102.Button.1005 32 | msgid "Close Windows Explorer (RECOMMENDED)" 33 | msgstr "关闭 Windows 资源管理器(建议)" 34 | 35 | #: DIALOGCONTROL.102.Button.2 36 | msgid "Exit" 37 | msgstr "退出" 38 | 39 | #: MENUITEM.130.32771 40 | msgid "Copy" 41 | msgstr "复制" 42 | 43 | #: MENUITEM.130.32772 44 | msgid "Copy all" 45 | msgstr "全部复制" 46 | 47 | #: STRING.129 48 | msgid "" 49 | "Usage:\n" 50 | "\n" 51 | "USBOblivion[32|64].exe [params]\n" 52 | "\n" 53 | "Params:\n" 54 | "\n" 55 | "-enable - Do real clean (simulation otherwise)\n" 56 | "-auto - Automatic run\n" 57 | "-nosave - Don't save a registry backup file\n" 58 | "-save:filename - Save a registry backup to this file\n" 59 | "-log:filename - Save working log to this file\n" 60 | "-norestorepoint - Don't create a System Restore Point\n" 61 | "-norestart - Don't restart Windows\n" 62 | "-noexplorer - Don't close Windows Explorer\n" 63 | "-lang:XX - Use language XX (hex-code)\n" 64 | "-silent - Hidden mode (if possible)\n" 65 | "-? - Show this help\n" 66 | msgstr "" 67 | "使用方法:\n" 68 | "\n" 69 | "USBOblivion[32|64].exe [参数]\n" 70 | "\n" 71 | "参数:\n" 72 | "\n" 73 | "-enable - 做真正的清除 (否则模拟)\n" 74 | "-auto - 自动运行\n" 75 | "-nosave - 不保存注册表备份文件\n" 76 | "-save:filename - 将注册表备份保存到此文件\n" 77 | "-log:filename - 将工作日志保存到此文件\n" 78 | "-norestorepoint - 不要创建系统还原点\n" 79 | "-norestart - 不要重启 Windows\n" 80 | "-noexplorer - 不要关闭 Windows 资源管理器\n" 81 | "-lang:XX - 使用语言 XX (十六进制代码)\n" 82 | "-silent - 隐藏模式 (如果可能)\n" 83 | "-? - 显示此帮助\n" 84 | 85 | #: STRING.130 86 | msgid "WARNING! Eject all flash drives before cleaning please." 87 | msgstr "警告!请在清除前弹出所有闪存驱动器。" 88 | 89 | #: STRING.132 90 | msgid "Process mode: real (data will be cleaned)." 91 | msgstr "处理模式: 清除 (数据将被清除)。" 92 | 93 | #: STRING.133 94 | msgid "Process mode: simulation (no data will be cleaned)." 95 | msgstr "处理模式: 模拟 (不会清除任何数据)。" 96 | 97 | #: STRING.134 98 | msgid "File creation error: " 99 | msgstr "文件创建错误: " 100 | 101 | #: STRING.135 102 | msgid "File write error: " 103 | msgstr "文件写入错误: " 104 | 105 | #: STRING.136 106 | msgid "Backup file: " 107 | msgstr "备份文件: " 108 | 109 | #: STRING.137 110 | msgid "Done." 111 | msgstr "完成。" 112 | 113 | #: STRING.138 114 | msgid "Gathering data from system registry..." 115 | msgstr "正在从系统注册表中收集数据..." 116 | 117 | #: STRING.139 118 | msgid "Found drives (will be ignored): " 119 | msgstr "找到的驱动器 (将被忽略): " 120 | 121 | #: STRING.140 122 | msgid "Cleaning..." 123 | msgstr "正在清除..." 124 | 125 | #: STRING.141 126 | msgid "Removing key: " 127 | msgstr "移除键: " 128 | 129 | #: STRING.142 130 | msgid "Removing value: " 131 | msgstr "移除值: " 132 | 133 | #: STRING.143 134 | msgid "Gathering user data..." 135 | msgstr "正在收集用户数据..." 136 | 137 | #: STRING.144 138 | msgid "Gathering data about user: " 139 | msgstr "收集有关用户的数据: " 140 | 141 | #: STRING.145 142 | msgid "Found users: " 143 | msgstr "找到的用户: " 144 | 145 | #: STRING.146 146 | msgid "Found mount points: " 147 | msgstr "找到的挂载点: " 148 | 149 | #: STRING.147 150 | msgid "Found Explorer drives: " 151 | msgstr "找到资源管理器驱动器: " 152 | 153 | #: STRING.148 154 | msgid "Remove error: " 155 | msgstr "移除错误: " 156 | 157 | #: STRING.149 158 | msgid "Gathering mount point's data..." 159 | msgstr "正在收集挂载点的数据..." 160 | 161 | #: STRING.150 162 | msgid "Found ControlSets: " 163 | msgstr "找到的控件集: " 164 | 165 | #: STRING.151 166 | msgid "Found keys: " 167 | msgstr "找到的键: " 168 | 169 | #: STRING.152 170 | msgid "Found values: " 171 | msgstr "找到的值: " 172 | 173 | #: STRING.153 174 | msgid "Key access denied: " 175 | msgstr "访问键被拒绝: " 176 | 177 | #: STRING.154 178 | msgid "Disk %c: has been inserted." 179 | msgstr "磁盘 %c: 已插入。" 180 | 181 | #: STRING.155 182 | msgid "Logged-in under system account successfully." 183 | msgstr "成功使用系统帐户登录。" 184 | 185 | #: STRING.156 186 | msgid "Failed to login under system account." 187 | msgstr "无法使用系统帐户登录。" 188 | 189 | #: STRING.157 190 | msgid "Re-starting under administrator..." 191 | msgstr "使用管理员账号重启..." 192 | 193 | #: STRING.158 194 | msgid "Disk %c: has been ejected." 195 | msgstr "磁盘 %c: 已弹出。" 196 | 197 | #: STRING.159 198 | msgid "Failed to eject disk %c:." 199 | msgstr "无法弹出磁盘 %c:." 200 | 201 | #: STRING.160 202 | msgid "Ejecting disk %c:..." 203 | msgstr "正在弹出磁盘 %c:..." 204 | 205 | #: STRING.161 206 | msgid "Removing file: " 207 | msgstr "正在移除文件: " 208 | 209 | #: STRING.162 210 | msgid "Gathering file data..." 211 | msgstr "正在收集文件数据..." 212 | 213 | #: STRING.163 214 | msgid "Cleaning journal: " 215 | msgstr "正在清除日志: " 216 | 217 | #: STRING.164 218 | msgid "Gathering journal data..." 219 | msgstr "正在收集日志数据..." 220 | 221 | #: STRING.165 222 | msgid "File removal error:" 223 | msgstr "文件移除错误:" 224 | 225 | #: STRING.166 226 | msgid "Removing file at boot-time:" 227 | msgstr "启动时移除文件:" 228 | 229 | #: STRING.167 230 | msgid "Journal cleanup error:" 231 | msgstr "日志清除错误:" 232 | 233 | #: STRING.168 234 | msgid "Creating System Restore Point..." 235 | msgstr "正在创建系统还原点..." 236 | 237 | #: STRING.169 238 | msgid "Closing Windows Explorer..." 239 | msgstr "正在关闭 Windows 资源管理器..." 240 | 241 | #: STRING.170 242 | msgid "Gathering Windows Search cache data..." 243 | msgstr "正在收集 Windows 搜索缓存数据..." 244 | 245 | #: STRING.171 246 | msgid "System Restore Point creation error: " 247 | msgstr "系统还原点创建错误: " 248 | 249 | #: STRING.172 250 | msgid "System Restore Point created successfully." 251 | msgstr "已成功创建系统还原点。" 252 | 253 | #: STRING.173 254 | msgid "System Restore Point disabled." 255 | msgstr "系统还原点已禁用。" 256 | 257 | #: STRING.174 258 | msgid "Restarting Windows..." 259 | msgstr "重启 Windows..." 260 | 261 | #: STRING.175 262 | msgid "Restarting Windows Explorer..." 263 | msgstr "正在重启 Windows 资源管理器..." 264 | 265 | #: STRING.176 266 | msgid "Failed to restart Windows: " 267 | msgstr "无法重启 Windows: " 268 | 269 | #: STRING.177 270 | msgid "Simulate" 271 | msgstr "模拟" 272 | 273 | #: STRING.179 274 | msgid "Stopping Windows Services..." 275 | msgstr "正在停止 Windows 服务..." 276 | -------------------------------------------------------------------------------- /res/USBOblivion32.exe.07.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: USBOblivion32.exe\n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: Mr. Update \n" 7 | "Language-Team: \n" 8 | "Language: de_DE\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "X-Generator: Poedit 2.4.2\n" 13 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 14 | 15 | #: DIALOGCONTROL.102.Button.1 STRING.178 16 | msgid "Clean" 17 | msgstr "Reinigung" 18 | 19 | #: DIALOGCONTROL.102.Button.1002 20 | msgid "Do real clean (simulation otherwise)" 21 | msgstr "Wirkliche Reinigung durchführen (ansonsten Simulation)" 22 | 23 | #: DIALOGCONTROL.102.Button.1003 24 | msgid "Save backup .reg-file" 25 | msgstr "Sicherung als REG-Datei speichern" 26 | 27 | #: DIALOGCONTROL.102.Button.1004 28 | msgid "Reboot Windows (RECOMMENDED)" 29 | msgstr "Windows neu starten (empfohlen)" 30 | 31 | #: DIALOGCONTROL.102.Button.1005 32 | msgid "Close Windows Explorer (RECOMMENDED)" 33 | msgstr "Windows Explorer schließen (empfohlen)" 34 | 35 | #: DIALOGCONTROL.102.Button.2 36 | msgid "Exit" 37 | msgstr "Beenden" 38 | 39 | #: MENUITEM.130.32771 40 | msgid "Copy" 41 | msgstr "Kopieren" 42 | 43 | #: MENUITEM.130.32772 44 | msgid "Copy all" 45 | msgstr "Alle kopieren" 46 | 47 | #: STRING.129 48 | msgid "" 49 | "Usage:\n" 50 | "\n" 51 | "USBOblivion[32|64].exe [params]\n" 52 | "\n" 53 | "Params:\n" 54 | "\n" 55 | "-enable - Do real clean (simulation otherwise)\n" 56 | "-auto - Automatic run\n" 57 | "-nosave - Don't save a registry backup file\n" 58 | "-save:filename - Save a registry backup to this file\n" 59 | "-log:filename - Save working log to this file\n" 60 | "-norestorepoint - Don't create a System Restore Point\n" 61 | "-norestart - Don't restart Windows\n" 62 | "-noexplorer - Don't close Windows Explorer\n" 63 | "-lang:XX - Use language XX (hex-code)\n" 64 | "-silent - Hidden mode (if possible)\n" 65 | "-? - Show this help\n" 66 | msgstr "" 67 | "Benutzung:\n" 68 | "\n" 69 | "USBOblivion[32|64].exe [Parameter]\n" 70 | "\n" 71 | "Parameter:\n" 72 | "\n" 73 | "-enable - Wirkliche Reinigung (ansonsten Simulation)\n" 74 | "-auto - Automatischer Ablauf\n" 75 | "-nosave - Kein Registry-Backup speichern\n" 76 | "-save:filename - Registry-Backup in diese Datei speichern\n" 77 | "-log:filename - Logprotokoll in diese Datei speichern\n" 78 | "-norestorepoint - Keinen System-Wiederherstellungspunkt erstellen\n" 79 | "-norestart - Windows nicht neu starten\n" 80 | "-noexplorer - Windows Explorer nicht schließen\n" 81 | "-lang:XX - Sprache XX (Hex-Code) verwenden\n" 82 | "-silent - Versteckter Modus (wenn möglich)\n" 83 | "-? - Diese Hilfe anzeigen\n" 84 | 85 | #: STRING.130 86 | msgid "WARNING! Eject all flash drives before cleaning please." 87 | msgstr "WARNUNG! Entfernen Sie bitte alle Flash-Laufwerke vor der Reinigung." 88 | 89 | #: STRING.132 90 | msgid "Process mode: real (data will be cleaned)." 91 | msgstr "Prozessmodus: Wirkliches Löschen (Daten werden bereinigt)." 92 | 93 | #: STRING.133 94 | msgid "Process mode: simulation (no data will be cleaned)." 95 | msgstr "Prozessmodus: Simulation (Daten werden nicht bereinigt)." 96 | 97 | #: STRING.134 98 | msgid "File creation error: " 99 | msgstr "Fehler beim Erstellen der Datei: " 100 | 101 | #: STRING.135 102 | msgid "File write error: " 103 | msgstr "Fehler beim Schreiben der Datei: " 104 | 105 | #: STRING.136 106 | msgid "Backup file: " 107 | msgstr "Sicherungsdatei: " 108 | 109 | #: STRING.137 110 | msgid "Done." 111 | msgstr "Fertig." 112 | 113 | #: STRING.138 114 | msgid "Gathering data from system registry..." 115 | msgstr "Daten aus der Systemregistrierung werden gesammelt..." 116 | 117 | #: STRING.139 118 | msgid "Found drives (will be ignored): " 119 | msgstr "Gefundene Laufwerke (werden ignoriert): " 120 | 121 | #: STRING.140 122 | msgid "Cleaning..." 123 | msgstr "Reinigen..." 124 | 125 | #: STRING.141 126 | msgid "Removing key: " 127 | msgstr "Schlüssel wird entfernt: " 128 | 129 | #: STRING.142 130 | msgid "Removing value: " 131 | msgstr "Wert wird entfernt: " 132 | 133 | #: STRING.143 134 | msgid "Gathering user data..." 135 | msgstr "Sammeln von Benutzerdaten..." 136 | 137 | #: STRING.144 138 | msgid "Gathering data about user: " 139 | msgstr "Daten über Benutzer werden gesammelt: " 140 | 141 | #: STRING.145 142 | msgid "Found users: " 143 | msgstr "Gefundene Nutzer: " 144 | 145 | #: STRING.146 146 | msgid "Found mount points: " 147 | msgstr "Gefundene Einhängepunkte: " 148 | 149 | #: STRING.147 150 | msgid "Found Explorer drives: " 151 | msgstr "Gefundene Explorer-Laufwerke: " 152 | 153 | #: STRING.148 154 | msgid "Remove error: " 155 | msgstr "Fehler beim Entfernen: " 156 | 157 | #: STRING.149 158 | msgid "Gathering mount point's data..." 159 | msgstr "Einhängepunkt-Daten werden gesammelt..." 160 | 161 | #: STRING.150 162 | msgid "Found ControlSets: " 163 | msgstr "Gefundene ControlSets: " 164 | 165 | #: STRING.151 166 | msgid "Found keys: " 167 | msgstr "Gefundene Schlüssel: " 168 | 169 | #: STRING.152 170 | msgid "Found values: " 171 | msgstr "Gefundene Werte: " 172 | 173 | #: STRING.153 174 | msgid "Key access denied: " 175 | msgstr "Zugriff auf Schlüssel verweigert: " 176 | 177 | #: STRING.154 178 | msgid "Disk %c: has been inserted." 179 | msgstr "Disk %c: wurde eingelegt." 180 | 181 | #: STRING.155 182 | msgid "Logged-in under system account successfully." 183 | msgstr "Erfolgreich mit dem Systemkonto angemeldet." 184 | 185 | #: STRING.156 186 | msgid "Failed to login under system account." 187 | msgstr "Anmeldung mit dem Systemkonto ist fehlgeschlagen." 188 | 189 | #: STRING.157 190 | msgid "Re-starting under administrator..." 191 | msgstr "Neustart als Administrator..." 192 | 193 | #: STRING.158 194 | msgid "Disk %c: has been ejected." 195 | msgstr "Disk %c: wurde ausgeworfen." 196 | 197 | #: STRING.159 198 | msgid "Failed to eject disk %c:." 199 | msgstr "Auswerfen der Disk %c: ist fehlgeschlagen." 200 | 201 | #: STRING.160 202 | msgid "Ejecting disk %c:..." 203 | msgstr "Disk %c: wird ausgeworfen..." 204 | 205 | #: STRING.161 206 | msgid "Removing file: " 207 | msgstr "Datei wird entfernt: " 208 | 209 | #: STRING.162 210 | msgid "Gathering file data..." 211 | msgstr "Dateidaten werden gesammelt..." 212 | 213 | #: STRING.163 214 | msgid "Cleaning journal: " 215 | msgstr "Protokoll wird gereinigt: " 216 | 217 | #: STRING.164 218 | msgid "Gathering journal data..." 219 | msgstr "Protokolldaten werden gesammelt..." 220 | 221 | #: STRING.165 222 | msgid "File removal error:" 223 | msgstr "Fehler beim Löschen der Datei: " 224 | 225 | #: STRING.166 226 | msgid "Removing file at boot-time:" 227 | msgstr "Datei wird beim Windows-Start gelöscht: " 228 | 229 | #: STRING.167 230 | msgid "Journal cleanup error:" 231 | msgstr "Fehler beim Löschen des Protokolls: " 232 | 233 | #: STRING.168 234 | msgid "Creating System Restore Point..." 235 | msgstr "System-Wiederherstellungspunkt wird erstellt..." 236 | 237 | #: STRING.169 238 | msgid "Closing Windows Explorer..." 239 | msgstr "Windows Explorer wird geschlossen..." 240 | 241 | #: STRING.170 242 | msgid "Gathering Windows Search cache data..." 243 | msgstr "Cachedaten der Windows-Suche werden gesammelt..." 244 | 245 | #: STRING.171 246 | msgid "System Restore Point creation error: " 247 | msgstr "Fehler beim Erstellen des System-Wiederherstellungspunkts: " 248 | 249 | #: STRING.172 250 | msgid "System Restore Point created successfully." 251 | msgstr "System-Wiederherstellungspunkt wurde erfolgreich erstellt." 252 | 253 | #: STRING.173 254 | msgid "System Restore Point disabled." 255 | msgstr "System-Wiederherstellungspunkt wurde deaktiviert." 256 | 257 | #: STRING.174 258 | msgid "Restarting Windows..." 259 | msgstr "Windows wird neu gestartet..." 260 | 261 | #: STRING.175 262 | msgid "Restarting Windows Explorer..." 263 | msgstr "Windows Explorer wird neu gestartet..." 264 | 265 | #: STRING.176 266 | msgid "Failed to restart Windows: " 267 | msgstr "Windows-Neustart ist fehlgeschlagen: " 268 | 269 | #: STRING.177 270 | msgid "Simulate" 271 | msgstr "Simulation" 272 | 273 | #: STRING.179 274 | msgid "Stopping Windows Services..." 275 | msgstr "Windows-Dienste werden gestoppt..." 276 | -------------------------------------------------------------------------------- /res/USBOblivion32.exe.08.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: USBOblivion32.exe\n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: Greek \n" 7 | "Language-Team: Greek \n" 8 | "MIME-Version: 1.0\n" 9 | "Content-Type: text/plain; charset=UTF-8\n" 10 | "Content-Transfer-Encoding: 8bit\n" 11 | "Language: el\n" 12 | "X-Generator: Poedit 2.0.2\n" 13 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 14 | "X-Poedit-SourceCharset: UTF-8\n" 15 | 16 | #: DIALOGCONTROL.102.Button.1 STRING.178 17 | msgid "Clean" 18 | msgstr "Εκκαθάριση" 19 | 20 | #: DIALOGCONTROL.102.Button.1002 21 | msgid "Do real clean (simulation otherwise)" 22 | msgstr "Να γίνει πραγματική εκκαθάριση (ειδάλλως προσομοίωση)" 23 | 24 | #: DIALOGCONTROL.102.Button.1003 25 | msgid "Save backup .reg-file" 26 | msgstr "Αποθήκευση αντιγράφου ασφαλείας αρχείου .reg" 27 | 28 | #: DIALOGCONTROL.102.Button.1004 29 | msgid "Reboot Windows (RECOMMENDED)" 30 | msgstr "" 31 | 32 | #: DIALOGCONTROL.102.Button.1005 33 | msgid "Close Windows Explorer (RECOMMENDED)" 34 | msgstr "" 35 | 36 | #: DIALOGCONTROL.102.Button.2 37 | msgid "Exit" 38 | msgstr "Έξοδος" 39 | 40 | #: MENUITEM.130.32771 41 | msgid "Copy" 42 | msgstr "Αντιγραφή" 43 | 44 | #: MENUITEM.130.32772 45 | msgid "Copy all" 46 | msgstr "Αντιγραφή όλων" 47 | 48 | #: STRING.129 49 | msgid "" 50 | "Usage:\n" 51 | "\n" 52 | "USBOblivion[32|64].exe [params]\n" 53 | "\n" 54 | "Params:\n" 55 | "\n" 56 | "-enable - Do real clean (simulation otherwise)\n" 57 | "-auto - Automatic run\n" 58 | "-nosave - Don't save a registry backup file\n" 59 | "-save:filename - Save a registry backup to this file\n" 60 | "-log:filename - Save working log to this file\n" 61 | "-norestorepoint - Don't create a System Restore Point\n" 62 | "-norestart - Don't restart Windows\n" 63 | "-noexplorer - Don't close Windows Explorer\n" 64 | "-lang:XX - Use language XX (hex-code)\n" 65 | "-silent - Hidden mode (if possible)\n" 66 | "-? - Show this help\n" 67 | msgstr "" 68 | "Χρήση:\n" 69 | "\n" 70 | "USBOblivion[32|64].exe [παράμετροι]\n" 71 | "\n" 72 | "Παράμετροι:\n" 73 | "\n" 74 | "-enable - Να γίνει πραγματική εκκαθάριση (ειδάλλως προσομοίωση)\n" 75 | "-auto - Αυτόματη εκτέλεση\n" 76 | "-nosave - Να μη γίνει αποθήκευση του αρχείου ασφαλείας μητρώου\n" 77 | "-save:όνομα αρχείου - Αποθήκευση αρχείου ασφαλείας μητρώου σε αυτό το αρχείο\n" 78 | "-log:όνομα αρχείου - Αποθήκευση του log εργασίας σε αυτό το αρχείο\n" 79 | "-norestorepoint - Να μη δημιουργηθεί Σημείο Επαναφοράς Συστήματος\n" 80 | "-norestart - Don't restart Windows\n" 81 | "-noexplorer - Don't close Windows Explorer\n" 82 | "-lang:XX - Χρήση γλώσσας XX (δεκαεξαδικός κωδικός)\n" 83 | "-silent -Κρυφή λειτουργία (εάν είναι δυνατή)\n" 84 | "-? - Εμφάνιση αυτής της βοήθειας\n" 85 | 86 | #: STRING.130 87 | msgid "WARNING! Eject all flash drives before cleaning please." 88 | msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ! Παρακαλούμε αποσυνδέστε όλες τις μονάδες αποθήκευσης flash, πριν τον καθαρισμό." 89 | 90 | #: STRING.132 91 | msgid "Process mode: real (data will be cleaned)." 92 | msgstr "Λειτουργία διαδικασίας: Πραγματική (τα δεδομένα θα καθαριστούν)." 93 | 94 | #: STRING.133 95 | msgid "Process mode: simulation (no data will be cleaned)." 96 | msgstr "Λειτουργία διαδικασίας: Προσομοίωση (τα δεδομένα δεν θα καθαριστούν)." 97 | 98 | #: STRING.134 99 | msgid "File creation error: " 100 | msgstr "Σφάλμα δημιουργίας αρχείου: " 101 | 102 | #: STRING.135 103 | msgid "File write error: " 104 | msgstr "Σφάλμα εγγραφής στο αρχείο: " 105 | 106 | #: STRING.136 107 | msgid "Backup file: " 108 | msgstr "Αντίγραφο ασφαλείας: " 109 | 110 | #: STRING.137 111 | msgid "Done." 112 | msgstr "Ολοκληρώθηκε." 113 | 114 | #: STRING.138 115 | msgid "Gathering data from system registry..." 116 | msgstr "Συλλογή δεδομένων από το μητρώο συστήματος..." 117 | 118 | #: STRING.139 119 | msgid "Found drives (will be ignored): " 120 | msgstr "Δίσκοι που βρέθηκαν (θα αγνοηθούν): " 121 | 122 | #: STRING.140 123 | msgid "Cleaning..." 124 | msgstr "Εκκαθάριση..." 125 | 126 | #: STRING.141 127 | msgid "Removing key: " 128 | msgstr "Κατάργηση κλειδιού: " 129 | 130 | #: STRING.142 131 | msgid "Removing value: " 132 | msgstr "Κατάργηση τιμής: " 133 | 134 | #: STRING.143 135 | msgid "Gathering user data..." 136 | msgstr "Συλλογή δεδομένων χρήστη..." 137 | 138 | #: STRING.144 139 | msgid "Gathering data about user: " 140 | msgstr "Συλλογή δεδομένων σχετικά με το χρήστη: " 141 | 142 | #: STRING.145 143 | msgid "Found users: " 144 | msgstr "Χρήστες που βρέθηκαν: " 145 | 146 | #: STRING.146 147 | msgid "Found mount points: " 148 | msgstr "Σημεία σύνδεσης που βρέθηκαν: " 149 | 150 | #: STRING.147 151 | msgid "Found Explorer drives: " 152 | msgstr "Δίσκοι που βρέθηκαν στην Εξερεύνηση: " 153 | 154 | #: STRING.148 155 | msgid "Remove error: " 156 | msgstr "Σφάλμα κατάργησης: " 157 | 158 | #: STRING.149 159 | msgid "Gathering mount point's data..." 160 | msgstr "Συλλογή δεδομένων σημείων σύνδεσης..." 161 | 162 | #: STRING.150 163 | msgid "Found ControlSets: " 164 | msgstr "ControlSets που βρέθηκαν: " 165 | 166 | #: STRING.151 167 | msgid "Found keys: " 168 | msgstr "Κλειδιά που βρέθηκαν: " 169 | 170 | #: STRING.152 171 | msgid "Found values: " 172 | msgstr "Τιμές που βρέθηκαν: " 173 | 174 | #: STRING.153 175 | msgid "Key access denied: " 176 | msgstr "Δεν επιτρέπεται η πρόσβαση στο κλειδί: " 177 | 178 | #: STRING.154 179 | msgid "Disk %c: has been inserted." 180 | msgstr "Δίσκος %c: Έχει εισαχθεί." 181 | 182 | #: STRING.155 183 | msgid "Logged-in under system account successfully." 184 | msgstr "Η σύνδεση στο λογαριασμό συστήματος έγινε με επιτυχία." 185 | 186 | #: STRING.156 187 | msgid "Failed to login under system account." 188 | msgstr "Αποτυχία σύνδεσης στο λογαριασμό συστήματος." 189 | 190 | #: STRING.157 191 | msgid "Re-starting under administrator..." 192 | msgstr "Επανεκκίνηση με δικαιώματα διαχειριστή..." 193 | 194 | #: STRING.158 195 | msgid "Disk %c: has been ejected." 196 | msgstr "Δίσκος %c: Έχει εξαχθεί." 197 | 198 | #: STRING.159 199 | msgid "Failed to eject disk %c:." 200 | msgstr "Αποτυχία εξαγωγής του δίσκου %c:." 201 | 202 | #: STRING.160 203 | msgid "Ejecting disk %c:..." 204 | msgstr "Εξαγωγή του δίσκου %c:..." 205 | 206 | #: STRING.161 207 | msgid "Removing file: " 208 | msgstr "Κατάργηση αρχείου: " 209 | 210 | #: STRING.162 211 | msgid "Gathering file data..." 212 | msgstr "Συλλογή δεδομένων αρχείου..." 213 | 214 | #: STRING.163 215 | msgid "Cleaning journal: " 216 | msgstr "Εκκαθάριση ιστορικού: " 217 | 218 | #: STRING.164 219 | msgid "Gathering journal data..." 220 | msgstr "Εκκαθάριση δεδομένων ιστορικού..." 221 | 222 | #: STRING.165 223 | msgid "File removal error:" 224 | msgstr "Σφάλμα κατάργησης αρχείου:" 225 | 226 | #: STRING.166 227 | msgid "Removing file at boot-time:" 228 | msgstr "Κατάργηση αρχείου κατά την εκκίνηση:" 229 | 230 | #: STRING.167 231 | msgid "Journal cleanup error:" 232 | msgstr "Σφάλμα εκκαθάρισης αρχείου καταγραφής:" 233 | 234 | #: STRING.168 235 | msgid "Creating System Restore Point..." 236 | msgstr "Δημιουργία Σημείου Επαναφοράς Συστήματος..." 237 | 238 | #: STRING.169 239 | msgid "Closing Windows Explorer..." 240 | msgstr "" 241 | 242 | #: STRING.170 243 | msgid "Gathering Windows Search cache data..." 244 | msgstr "" 245 | 246 | #: STRING.171 247 | msgid "System Restore Point creation error: " 248 | msgstr "" 249 | 250 | #: STRING.172 251 | msgid "System Restore Point created successfully." 252 | msgstr "" 253 | 254 | #: STRING.173 255 | msgid "System Restore Point disabled." 256 | msgstr "" 257 | 258 | #: STRING.174 259 | msgid "Restarting Windows..." 260 | msgstr "" 261 | 262 | #: STRING.175 263 | msgid "Restarting Windows Explorer..." 264 | msgstr "" 265 | 266 | #: STRING.176 267 | msgid "Failed to restart Windows: " 268 | msgstr "" 269 | 270 | #: STRING.177 271 | msgid "Simulate" 272 | msgstr "" 273 | 274 | #: STRING.179 275 | msgid "Stopping Windows Services..." 276 | msgstr "" 277 | -------------------------------------------------------------------------------- /res/USBOblivion32.exe.0C.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: USBOblivion32.exe\n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: Miel \n" 7 | "Language-Team: \n" 8 | "Language: fr\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "X-Poedit-SourceCharset: UTF-8\n" 13 | "X-Generator: Poedit 2.0.3\n" 14 | 15 | #: DIALOGCONTROL.102.Button.1 STRING.178 16 | msgid "Clean" 17 | msgstr "Nettoyer" 18 | 19 | #: DIALOGCONTROL.102.Button.1002 20 | msgid "Do real clean (simulation otherwise)" 21 | msgstr "Nettoyer réellement (sinon ça sera qu'une simulation)" 22 | 23 | #: DIALOGCONTROL.102.Button.1003 24 | msgid "Save backup .reg-file" 25 | msgstr "Faire une sauvegarde en fichier .reg" 26 | 27 | #: DIALOGCONTROL.102.Button.1004 28 | msgid "Reboot Windows (RECOMMENDED)" 29 | msgstr "" 30 | 31 | #: DIALOGCONTROL.102.Button.1005 32 | msgid "Close Windows Explorer (RECOMMENDED)" 33 | msgstr "" 34 | 35 | #: DIALOGCONTROL.102.Button.2 36 | msgid "Exit" 37 | msgstr "Quitter" 38 | 39 | #: MENUITEM.130.32771 40 | msgid "Copy" 41 | msgstr "Copier" 42 | 43 | #: MENUITEM.130.32772 44 | msgid "Copy all" 45 | msgstr "Copier tout" 46 | 47 | #: STRING.129 48 | msgid "" 49 | "Usage:\n" 50 | "\n" 51 | "USBOblivion[32|64].exe [params]\n" 52 | "\n" 53 | "Params:\n" 54 | "\n" 55 | "-enable - Do real clean (simulation otherwise)\n" 56 | "-auto - Automatic run\n" 57 | "-nosave - Don't save a registry backup file\n" 58 | "-save:filename - Save a registry backup to this file\n" 59 | "-log:filename - Save working log to this file\n" 60 | "-norestorepoint - Don't create a System Restore Point\n" 61 | "-norestart - Don't restart Windows\n" 62 | "-noexplorer - Don't close Windows Explorer\n" 63 | "-lang:XX - Use language XX (hex-code)\n" 64 | "-silent - Hidden mode (if possible)\n" 65 | "-? - Show this help\n" 66 | msgstr "" 67 | "Utilisation:\n" 68 | "\n" 69 | "USBOblivion[32|64].exe [paramètres]\n" 70 | "\n" 71 | "Paramètres:\n" 72 | "\n" 73 | "-enable - Nettoyer réellement (sinon ça sera qu'une simulation)\n" 74 | "-auto - Exécution automatique\n" 75 | "-nosave - Ne pas créer de fichier .reg de sauvegarde\n" 76 | "-save:filename - Save a registry backup to this file\n" 77 | "-log:filename - Save working log to this file\n" 78 | "-norestorepoint - Don't create a System Restore Point\n" 79 | "-norestart - Don't restart Windows\n" 80 | "-noexplorer - Don't close Windows Explorer\n" 81 | "-lang:XX - Utiliser la langue XX (code hexadécimal)\n" 82 | "-silent - Mode silencieux (si possible)\n" 83 | "-? - Afficher cet écran d'aide\n" 84 | 85 | #: STRING.130 86 | msgid "WARNING! Eject all flash drives before cleaning please." 87 | msgstr "ATTENTION! Veuillez éjecter tous les disques flash avant le nettoyage." 88 | 89 | #: STRING.132 90 | msgid "Process mode: real (data will be cleaned)." 91 | msgstr "Mode du processus: réel (les données seront nettoyées)." 92 | 93 | #: STRING.133 94 | msgid "Process mode: simulation (no data will be cleaned)." 95 | msgstr "Mode du processus: simulation (les données ne seront pas nettoyées)." 96 | 97 | #: STRING.134 98 | msgid "File creation error: " 99 | msgstr "Erreur lors de la création du fichier: " 100 | 101 | #: STRING.135 102 | msgid "File write error: " 103 | msgstr "Erreur lors de l'écriture du fichier: " 104 | 105 | #: STRING.136 106 | msgid "Backup file: " 107 | msgstr "Fichier de sauvegarde: " 108 | 109 | #: STRING.137 110 | msgid "Done." 111 | msgstr "Fini." 112 | 113 | #: STRING.138 114 | msgid "Gathering data from system registry..." 115 | msgstr "Récupération des données dans la base de registre..." 116 | 117 | #: STRING.139 118 | msgid "Found drives (will be ignored): " 119 | msgstr "Disques trouvés (ignoré): " 120 | 121 | #: STRING.140 122 | msgid "Cleaning..." 123 | msgstr "Nettoyage..." 124 | 125 | #: STRING.141 126 | msgid "Removing key: " 127 | msgstr "Suppression de la clé: " 128 | 129 | #: STRING.142 130 | msgid "Removing value: " 131 | msgstr "Suppression de la valeur: " 132 | 133 | #: STRING.143 134 | msgid "Gathering user data..." 135 | msgstr "Récupération des données des utilisateurs..." 136 | 137 | #: STRING.144 138 | msgid "Gathering data about user: " 139 | msgstr "Récupération des données de l'utilisateur: " 140 | 141 | #: STRING.145 142 | msgid "Found users: " 143 | msgstr "Utilisateurs trouvés: " 144 | 145 | #: STRING.146 146 | msgid "Found mount points: " 147 | msgstr "Points de montage trouvés: " 148 | 149 | #: STRING.147 150 | msgid "Found Explorer drives: " 151 | msgstr "Disques trouvés dans l'explorateur: " 152 | 153 | #: STRING.148 154 | msgid "Remove error: " 155 | msgstr "Erreur de suppression: " 156 | 157 | #: STRING.149 158 | msgid "Gathering mount point's data..." 159 | msgstr "Récupération des données sur les points de montage..." 160 | 161 | #: STRING.150 162 | msgid "Found ControlSets: " 163 | msgstr "ControlSets trouvés: " 164 | 165 | #: STRING.151 166 | msgid "Found keys: " 167 | msgstr "Clés trouvés: " 168 | 169 | #: STRING.152 170 | msgid "Found values: " 171 | msgstr "Valeurs trouvées: " 172 | 173 | #: STRING.153 174 | msgid "Key access denied: " 175 | msgstr "Accès refusé pour la clé: " 176 | 177 | #: STRING.154 178 | msgid "Disk %c: has been inserted." 179 | msgstr "Disque %c: a été inséré." 180 | 181 | #: STRING.155 182 | msgid "Logged-in under system account successfully." 183 | msgstr "L'accès sous le compte système a réussi." 184 | 185 | #: STRING.156 186 | msgid "Failed to login under system account." 187 | msgstr "L'accès sous le compte système a échoué." 188 | 189 | #: STRING.157 190 | msgid "Re-starting under administrator..." 191 | msgstr "Veuillez redémarrer en tant qu'administrateur..." 192 | 193 | #: STRING.158 194 | msgid "Disk %c: has been ejected." 195 | msgstr "Disque %c: a été éjecté." 196 | 197 | #: STRING.159 198 | msgid "Failed to eject disk %c:." 199 | msgstr "Echec lors de l'éjection du disque %c:." 200 | 201 | #: STRING.160 202 | msgid "Ejecting disk %c:..." 203 | msgstr "Ejection du disque %c:..." 204 | 205 | #: STRING.161 206 | msgid "Removing file: " 207 | msgstr "Retrait du fichier au démarrage: " 208 | 209 | #: STRING.162 210 | msgid "Gathering file data..." 211 | msgstr "Récupération des données des fichiers..." 212 | 213 | #: STRING.163 214 | msgid "Cleaning journal: " 215 | msgstr "Nettoyage du journal: " 216 | 217 | #: STRING.164 218 | msgid "Gathering journal data..." 219 | msgstr "Récupération des données des journaux..." 220 | 221 | #: STRING.165 222 | msgid "File removal error:" 223 | msgstr "Erreur suppression fichier:" 224 | 225 | #: STRING.166 226 | msgid "Removing file at boot-time:" 227 | msgstr "Retrait du fichier au démarrage:" 228 | 229 | #: STRING.167 230 | msgid "Journal cleanup error:" 231 | msgstr "Erreur nettoyage journal:" 232 | 233 | #: STRING.168 234 | msgid "Creating System Restore Point..." 235 | msgstr "Création point de restauration système..." 236 | 237 | #: STRING.169 238 | msgid "Closing Windows Explorer..." 239 | msgstr "" 240 | 241 | #: STRING.170 242 | msgid "Gathering Windows Search cache data..." 243 | msgstr "" 244 | 245 | #: STRING.171 246 | msgid "System Restore Point creation error: " 247 | msgstr "" 248 | 249 | #: STRING.172 250 | msgid "System Restore Point created successfully." 251 | msgstr "" 252 | 253 | #: STRING.173 254 | msgid "System Restore Point disabled." 255 | msgstr "" 256 | 257 | #: STRING.174 258 | msgid "Restarting Windows..." 259 | msgstr "" 260 | 261 | #: STRING.175 262 | msgid "Restarting Windows Explorer..." 263 | msgstr "" 264 | 265 | #: STRING.176 266 | msgid "Failed to restart Windows: " 267 | msgstr "" 268 | 269 | #: STRING.177 270 | msgid "Simulate" 271 | msgstr "" 272 | 273 | #: STRING.179 274 | msgid "Stopping Windows Services..." 275 | msgstr "" 276 | -------------------------------------------------------------------------------- /res/USBOblivion32.exe.0a.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: USBOblivion32.exe\n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: Boris Gilmar Terrazas Miranda \n" 7 | "Language-Team: \n" 8 | "Language: es_ES\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 13 | "X-Generator: Poedit 3.0.1\n" 14 | 15 | #: DIALOGCONTROL.102.Button.1 STRING.178 16 | msgid "Clean" 17 | msgstr "Limpiar" 18 | 19 | #: DIALOGCONTROL.102.Button.1002 20 | msgid "Do real clean (simulation otherwise)" 21 | msgstr "Limpieza real (sin marcar es una simulación)" 22 | 23 | #: DIALOGCONTROL.102.Button.1003 24 | msgid "Save backup .reg-file" 25 | msgstr "Guardar copia de seguridad (archivo .reg)" 26 | 27 | #: DIALOGCONTROL.102.Button.1004 28 | msgid "Reboot Windows (RECOMMENDED)" 29 | msgstr "Reiniciar Windows (RECOMENDADO)" 30 | 31 | #: DIALOGCONTROL.102.Button.1005 32 | msgid "Close Windows Explorer (RECOMMENDED)" 33 | msgstr "Cerrar el Explorador de Windows (RECOMENDADO)" 34 | 35 | #: DIALOGCONTROL.102.Button.2 36 | msgid "Exit" 37 | msgstr "Salir" 38 | 39 | #: MENUITEM.130.32771 40 | msgid "Copy" 41 | msgstr "Copiar" 42 | 43 | #: MENUITEM.130.32772 44 | msgid "Copy all" 45 | msgstr "Copiar todo" 46 | 47 | #: STRING.129 48 | msgid "" 49 | "Usage:\n" 50 | "\n" 51 | "USBOblivion[32|64].exe [params]\n" 52 | "\n" 53 | "Params:\n" 54 | "\n" 55 | "-enable - Do real clean (simulation otherwise)\n" 56 | "-auto - Automatic run\n" 57 | "-nosave - Don't save a registry backup file\n" 58 | "-save:filename - Save a registry backup to this file\n" 59 | "-log:filename - Save working log to this file\n" 60 | "-norestorepoint - Don't create a System Restore Point\n" 61 | "-norestart - Don't restart Windows\n" 62 | "-noexplorer - Don't close Windows Explorer\n" 63 | "-lang:XX - Use language XX (hex-code)\n" 64 | "-silent - Hidden mode (if possible)\n" 65 | "-? - Show this help\n" 66 | msgstr "" 67 | "Modo de uso:\n" 68 | "\n" 69 | "USBOblivion[32|64].exe [parámetros]\n" 70 | "\n" 71 | "Parámetros:\n" 72 | "\n" 73 | "-enable - Limpieza real (simulación de lo contrario)\n" 74 | "-auto - Funcionamiento automático\n" 75 | "-nosave - No guarda copia de seguridad (archivo .reg)\n" 76 | "-save:filename - Guardar una copia de seguridad del registro en este archivo\n" 77 | "-log:filename - Guardar registro de trabajo en este archivo\n" 78 | "-norestorepoint - No crear Punto de Restauración del Sistema\n" 79 | "-norestart - No reinicie Windows\n" 80 | "-noexplorer - No cerrar el Explorador de Windows\n" 81 | "-lang:XX - Usar idioma XX (código hexadecimal)\n" 82 | "-silent - Modo oculto (Si es posible)\n" 83 | "-? - Mostrar la ayuda\n" 84 | 85 | #: STRING.130 86 | msgid "WARNING! Eject all flash drives before cleaning please." 87 | msgstr "¡ADVERTENCIA! Expulsar todas las unidades flash antes de limpiar por favor." 88 | 89 | #: STRING.132 90 | msgid "Process mode: real (data will be cleaned)." 91 | msgstr "Ejecutar en modo: real (los datos serán limpiados)." 92 | 93 | #: STRING.133 94 | msgid "Process mode: simulation (no data will be cleaned)." 95 | msgstr "Ejecutar en modo: simulación (no se limpiará ningún dato)." 96 | 97 | #: STRING.134 98 | msgid "File creation error: " 99 | msgstr "Error de creación de archivos: " 100 | 101 | #: STRING.135 102 | msgid "File write error: " 103 | msgstr "Error de escritura de archivo: " 104 | 105 | #: STRING.136 106 | msgid "Backup file: " 107 | msgstr "Archivo de copia de seguridad: " 108 | 109 | #: STRING.137 110 | msgid "Done." 111 | msgstr "Hecho." 112 | 113 | #: STRING.138 114 | msgid "Gathering data from system registry..." 115 | msgstr "Recopilando datos del registro del sistema..." 116 | 117 | #: STRING.139 118 | msgid "Found drives (will be ignored): " 119 | msgstr "Unidades encontradas (se ignorarán): " 120 | 121 | #: STRING.140 122 | msgid "Cleaning..." 123 | msgstr "Limpiando..." 124 | 125 | #: STRING.141 126 | msgid "Removing key: " 127 | msgstr "Eliminando clave: " 128 | 129 | #: STRING.142 130 | msgid "Removing value: " 131 | msgstr "Eliminando valor: " 132 | 133 | #: STRING.143 134 | msgid "Gathering user data..." 135 | msgstr "Recopilando datos de usuario..." 136 | 137 | #: STRING.144 138 | msgid "Gathering data about user: " 139 | msgstr "Recopilar datos sobre el usuario: " 140 | 141 | #: STRING.145 142 | msgid "Found users: " 143 | msgstr "Usuarios encontrados: " 144 | 145 | #: STRING.146 146 | msgid "Found mount points: " 147 | msgstr "Puntos de montaje encontrados: " 148 | 149 | #: STRING.147 150 | msgid "Found Explorer drives: " 151 | msgstr "Unidades encontradas: " 152 | 153 | #: STRING.148 154 | msgid "Remove error: " 155 | msgstr "Error al eliminar: " 156 | 157 | #: STRING.149 158 | msgid "Gathering mount point's data..." 159 | msgstr "Recopilar datos del punto de montaje..." 160 | 161 | #: STRING.150 162 | msgid "Found ControlSets: " 163 | msgstr "Conjuntos de control encontrados: " 164 | 165 | #: STRING.151 166 | msgid "Found keys: " 167 | msgstr "Claves encontradas: " 168 | 169 | #: STRING.152 170 | msgid "Found values: " 171 | msgstr "Valores encontrados: " 172 | 173 | #: STRING.153 174 | msgid "Key access denied: " 175 | msgstr "Acceso a clave denegado: " 176 | 177 | #: STRING.154 178 | msgid "Disk %c: has been inserted." 179 | msgstr "Disco %c: conectado." 180 | 181 | #: STRING.155 182 | msgid "Logged-in under system account successfully." 183 | msgstr "Sesión iniciada correctamente en la cuenta del sistema." 184 | 185 | #: STRING.156 186 | msgid "Failed to login under system account." 187 | msgstr "No se pudo iniciar sesión en la cuenta del sistema." 188 | 189 | #: STRING.157 190 | msgid "Re-starting under administrator..." 191 | msgstr "Reiniciando como administrador..." 192 | 193 | #: STRING.158 194 | msgid "Disk %c: has been ejected." 195 | msgstr "Disco %c: ha sido expulsado." 196 | 197 | #: STRING.159 198 | msgid "Failed to eject disk %c:." 199 | msgstr "No se pudo expulsar el disco %c:." 200 | 201 | #: STRING.160 202 | msgid "Ejecting disk %c:..." 203 | msgstr "Expulsando disco %c:..." 204 | 205 | #: STRING.161 206 | msgid "Removing file: " 207 | msgstr "Eliminando archivo: " 208 | 209 | #: STRING.162 210 | msgid "Gathering file data..." 211 | msgstr "Reuniendo datos de archivo.." 212 | 213 | #: STRING.163 214 | msgid "Cleaning journal: " 215 | msgstr "Limpiando registro: " 216 | 217 | #: STRING.164 218 | msgid "Gathering journal data..." 219 | msgstr "Limpiando datos del registro..." 220 | 221 | #: STRING.165 222 | msgid "File removal error:" 223 | msgstr "Error de eliminación de archivo:" 224 | 225 | #: STRING.166 226 | msgid "Removing file at boot-time:" 227 | msgstr "Eliminación del archivo en el arranque:" 228 | 229 | #: STRING.167 230 | msgid "Journal cleanup error:" 231 | msgstr "Error de limpieza del registro:" 232 | 233 | #: STRING.168 234 | msgid "Creating System Restore Point..." 235 | msgstr "Creando Punto de Restauración del Sistema..." 236 | 237 | #: STRING.169 238 | msgid "Closing Windows Explorer..." 239 | msgstr "Cerrando el Explorador de Windows..." 240 | 241 | #: STRING.170 242 | msgid "Gathering Windows Search cache data..." 243 | msgstr "Reuniendo datos de la caché de Búsqueda de Windows..." 244 | 245 | #: STRING.171 246 | msgid "System Restore Point creation error: " 247 | msgstr "Error de creación del Punto de Restauración del Sistema: " 248 | 249 | #: STRING.172 250 | msgid "System Restore Point created successfully." 251 | msgstr "Punto de Restauración del Sistema creado correctamente." 252 | 253 | #: STRING.173 254 | msgid "System Restore Point disabled." 255 | msgstr "Punto de Restauración del Sistema deshabilitado." 256 | 257 | #: STRING.174 258 | msgid "Restarting Windows..." 259 | msgstr "Reiniciando Windows..." 260 | 261 | #: STRING.175 262 | msgid "Restarting Windows Explorer..." 263 | msgstr "Reiniciando el Explorador de Windows..." 264 | 265 | #: STRING.176 266 | msgid "Failed to restart Windows: " 267 | msgstr "No se pudo reiniciar Windows: " 268 | 269 | #: STRING.177 270 | msgid "Simulate" 271 | msgstr "Simular" 272 | 273 | #: STRING.179 274 | msgid "Stopping Windows Services..." 275 | msgstr "Deteniendo Servicios de Windows..." 276 | -------------------------------------------------------------------------------- /res/USBOblivion32.exe.10.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: USBOblivion32.exe\n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: it\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "X-Generator: Poedit 3.2.2\n" 13 | 14 | #: DIALOGCONTROL.102.Button.1 STRING.178 15 | msgid "Clean" 16 | msgstr "Pulisci" 17 | 18 | #: DIALOGCONTROL.102.Button.1002 19 | msgid "Do real clean (simulation otherwise)" 20 | msgstr "Esegui pulizia reale (se non abilitato esegue solo simulazione)" 21 | 22 | #: DIALOGCONTROL.102.Button.1003 23 | msgid "Save backup .reg-file" 24 | msgstr "Salva file .reg come backup" 25 | 26 | #: DIALOGCONTROL.102.Button.1004 27 | msgid "Reboot Windows (RECOMMENDED)" 28 | msgstr "Riavvia Windows (RACCOMANDATO)" 29 | 30 | #: DIALOGCONTROL.102.Button.1005 31 | msgid "Close Windows Explorer (RECOMMENDED)" 32 | msgstr "Chiudi Windows Explorer (RACCOMANDATO)" 33 | 34 | #: DIALOGCONTROL.102.Button.2 35 | msgid "Exit" 36 | msgstr "Esci" 37 | 38 | #: MENUITEM.130.32771 39 | msgid "Copy" 40 | msgstr "Copia" 41 | 42 | #: MENUITEM.130.32772 43 | msgid "Copy all" 44 | msgstr "Copia tutto" 45 | 46 | #: STRING.129 47 | msgid "" 48 | "Usage:\n" 49 | "\n" 50 | "USBOblivion[32|64].exe [params]\n" 51 | "\n" 52 | "Params:\n" 53 | "\n" 54 | "-enable - Do real clean (simulation otherwise)\n" 55 | "-auto - Automatic run\n" 56 | "-nosave - Don't save a registry backup file\n" 57 | "-save:filename - Save a registry backup to this file\n" 58 | "-log:filename - Save working log to this file\n" 59 | "-norestorepoint - Don't create a System Restore Point\n" 60 | "-norestart - Don't restart Windows\n" 61 | "-noexplorer - Don't close Windows Explorer\n" 62 | "-lang:XX - Use language XX (hex-code)\n" 63 | "-silent - Hidden mode (if possible)\n" 64 | "-? - Show this help\n" 65 | msgstr "" 66 | "Uso:\n" 67 | "\n" 68 | "USBOblivion[32|64].exe [parametri]\n" 69 | "\n" 70 | "Parametri:\n" 71 | "\n" 72 | "-enable - Esegue pulizia reale (altrimenti simula)\n" 73 | "-auto - Esecuzione automatica\n" 74 | "-nosave - Nessun salvataggio della copia di sicurezza del registro\n" 75 | "-save:filename - Salva una copia di sicurezza del registro nel file specificato\n" 76 | "-log:filename - Salva il log nel file specificato\n" 77 | "-norestorepoint - Nessuna creazione del punto di ripristino\n" 78 | "-norestart - Nessun riavvio di Windows\n" 79 | "-noexplorer - Nessuna chiusura di Windows Explorer\n" 80 | "-lang:XX - Utilizza la lingua XX (codice esadecimale)\n" 81 | "-silent -Modalità nascosta (se possibile)\n" 82 | "-? - Visualizza questa guida\n" 83 | 84 | #: STRING.130 85 | msgid "WARNING! Eject all flash drives before cleaning please." 86 | msgstr "ATTENZIONE! PRIMA di avviare le operazioni disconnetti tutte le periferiche USB." 87 | 88 | #: STRING.132 89 | msgid "Process mode: real (data will be cleaned)." 90 | msgstr "Tipo di pulizia: reale (i dati verranno puliti)." 91 | 92 | #: STRING.133 93 | msgid "Process mode: simulation (no data will be cleaned)." 94 | msgstr "Tipo di pulizia: simulazione (nessun dato verrà modificato)." 95 | 96 | #: STRING.134 97 | msgid "File creation error: " 98 | msgstr "Impossibile creare il file: " 99 | 100 | #: STRING.135 101 | msgid "File write error: " 102 | msgstr "Errore scrittura file: " 103 | 104 | #: STRING.136 105 | msgid "Backup file: " 106 | msgstr "File backup: " 107 | 108 | #: STRING.137 109 | msgid "Done." 110 | msgstr "Operazioni completate." 111 | 112 | #: STRING.138 113 | msgid "Gathering data from system registry..." 114 | msgstr "Raccolta dati registro di sistema..." 115 | 116 | #: STRING.139 117 | msgid "Found drives (will be ignored): " 118 | msgstr "Unità rilevate (verranno ignorate): " 119 | 120 | #: STRING.140 121 | msgid "Cleaning..." 122 | msgstr "Pulizia..." 123 | 124 | #: STRING.141 125 | msgid "Removing key: " 126 | msgstr "Rimozione chiave: " 127 | 128 | #: STRING.142 129 | msgid "Removing value: " 130 | msgstr "Rimozione valore: " 131 | 132 | #: STRING.143 133 | msgid "Gathering user data..." 134 | msgstr "Raccolta dati utente..." 135 | 136 | #: STRING.144 137 | msgid "Gathering data about user: " 138 | msgstr "Raccolta dati relativi all'utente: " 139 | 140 | #: STRING.145 141 | msgid "Found users: " 142 | msgstr "Utenti trovati: " 143 | 144 | #: STRING.146 145 | msgid "Found mount points: " 146 | msgstr "Punti di montaggio trovati: " 147 | 148 | #: STRING.147 149 | msgid "Found Explorer drives: " 150 | msgstr "Unità Explorer rilevate: " 151 | 152 | #: STRING.148 153 | msgid "Remove error: " 154 | msgstr "Errore rimozione: " 155 | 156 | #: STRING.149 157 | msgid "Gathering mount point's data..." 158 | msgstr "Raccolta dati punti di montaggio..." 159 | 160 | #: STRING.150 161 | msgid "Found ControlSets: " 162 | msgstr "ControlSets trovati: " 163 | 164 | #: STRING.151 165 | msgid "Found keys: " 166 | msgstr "Chiavi trovate: " 167 | 168 | #: STRING.152 169 | msgid "Found values: " 170 | msgstr "Valori trovati: " 171 | 172 | #: STRING.153 173 | msgid "Key access denied: " 174 | msgstr "Accesso negato alla chiave: " 175 | 176 | #: STRING.154 177 | msgid "Disk %c: has been inserted." 178 | msgstr "Il disco '%c': è stato connesso." 179 | 180 | #: STRING.155 181 | msgid "Logged-in under system account successfully." 182 | msgstr "Accesso nell'account di sistema completato." 183 | 184 | #: STRING.156 185 | msgid "Failed to login under system account." 186 | msgstr "Impossibile accedere nell'account di sistema." 187 | 188 | #: STRING.157 189 | msgid "Re-starting under administrator..." 190 | msgstr "Riavvio come amministratore..." 191 | 192 | #: STRING.158 193 | msgid "Disk %c: has been ejected." 194 | msgstr "Il disco '%c': è stato disconnesso." 195 | 196 | #: STRING.159 197 | msgid "Failed to eject disk %c:." 198 | msgstr "Impossibile disconnettere il disco '%c:'." 199 | 200 | #: STRING.160 201 | msgid "Ejecting disk %c:..." 202 | msgstr "Disconnessione disco '%c:'..." 203 | 204 | #: STRING.161 205 | msgid "Removing file: " 206 | msgstr "Rimozione file: " 207 | 208 | #: STRING.162 209 | msgid "Gathering file data..." 210 | msgstr "Raccoltai dati file..." 211 | 212 | #: STRING.163 213 | msgid "Cleaning journal: " 214 | msgstr "Pulisco diario: " 215 | 216 | #: STRING.164 217 | msgid "Gathering journal data..." 218 | msgstr "Raccolta dati diario..." 219 | 220 | #: STRING.165 221 | msgid "File removal error:" 222 | msgstr "Impossibile rimuovere il file:" 223 | 224 | #: STRING.166 225 | msgid "Removing file at boot-time:" 226 | msgstr "Rimozione file al prossimo riavvio:" 227 | 228 | #: STRING.167 229 | msgid "Journal cleanup error:" 230 | msgstr "Errore pulizia diario:" 231 | 232 | #: STRING.168 233 | msgid "Creating System Restore Point..." 234 | msgstr "Creazione punto di ripristino..." 235 | 236 | #: STRING.169 237 | msgid "Closing Windows Explorer..." 238 | msgstr "Chiusura Windows Explorer..." 239 | 240 | #: STRING.170 241 | msgid "Gathering Windows Search cache data..." 242 | msgstr "Raccolta dati cache ricerca Windows..." 243 | 244 | #: STRING.171 245 | msgid "System Restore Point creation error: " 246 | msgstr "Errore creazione punto di ripristino sistema: " 247 | 248 | #: STRING.172 249 | msgid "System Restore Point created successfully." 250 | msgstr "Creazione punto di ripristino sistema completata." 251 | 252 | #: STRING.173 253 | msgid "System Restore Point disabled." 254 | msgstr "Punto di ripristino sistema disabilitato..." 255 | 256 | #: STRING.174 257 | msgid "Restarting Windows..." 258 | msgstr "Riavvio di Windows..." 259 | 260 | #: STRING.175 261 | msgid "Restarting Windows Explorer..." 262 | msgstr "Riavvio Windows Explorer..." 263 | 264 | #: STRING.176 265 | msgid "Failed to restart Windows: " 266 | msgstr "Riavvio di Windows fallito: " 267 | 268 | #: STRING.177 269 | msgid "Simulate" 270 | msgstr "Simula" 271 | 272 | #: STRING.179 273 | msgid "Stopping Windows Services..." 274 | msgstr "Arresto servizi Windows..." 275 | -------------------------------------------------------------------------------- /res/USBOblivion32.exe.12.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: USBOblivion32.exe\n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: 4Li\n" 7 | "Language-Team: \n" 8 | "Language: ko\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=utf-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "X-Generator: Poedit 1.8.11\n" 13 | 14 | #: DIALOGCONTROL.102.Button.1 STRING.178 15 | msgid "Clean" 16 | msgstr "지우기" 17 | 18 | #: DIALOGCONTROL.102.Button.1002 19 | msgid "Do real clean (simulation otherwise)" 20 | msgstr "실제로 지우기 (그렇지 않으면, 모의 시험)" 21 | 22 | #: DIALOGCONTROL.102.Button.1003 23 | msgid "Save backup .reg-file" 24 | msgstr ".reg 파일로 백업 저장" 25 | 26 | #: DIALOGCONTROL.102.Button.1004 27 | msgid "Reboot Windows (RECOMMENDED)" 28 | msgstr "" 29 | 30 | #: DIALOGCONTROL.102.Button.1005 31 | msgid "Close Windows Explorer (RECOMMENDED)" 32 | msgstr "" 33 | 34 | #: DIALOGCONTROL.102.Button.2 35 | msgid "Exit" 36 | msgstr "끝내기" 37 | 38 | #: MENUITEM.130.32771 39 | msgid "Copy" 40 | msgstr "복사" 41 | 42 | #: MENUITEM.130.32772 43 | msgid "Copy all" 44 | msgstr "모두 복사" 45 | 46 | #: STRING.129 47 | msgid "" 48 | "Usage:\n" 49 | "\n" 50 | "USBOblivion[32|64].exe [params]\n" 51 | "\n" 52 | "Params:\n" 53 | "\n" 54 | "-enable - Do real clean (simulation otherwise)\n" 55 | "-auto - Automatic run\n" 56 | "-nosave - Don't save a registry backup file\n" 57 | "-save:filename - Save a registry backup to this file\n" 58 | "-log:filename - Save working log to this file\n" 59 | "-norestorepoint - Don't create a System Restore Point\n" 60 | "-norestart - Don't restart Windows\n" 61 | "-noexplorer - Don't close Windows Explorer\n" 62 | "-lang:XX - Use language XX (hex-code)\n" 63 | "-silent - Hidden mode (if possible)\n" 64 | "-? - Show this help\n" 65 | msgstr "" 66 | "사용 방법:\n" 67 | "\n" 68 | "USBOblivion[32|64].exe [매개 변수]\n" 69 | "\n" 70 | "매개 변수:\n" 71 | "\n" 72 | "-enable - 실제로 지우기 (그렇지 않으면, 모의 시험)\n" 73 | "-auto - 자동으 실행\n" 74 | "-nosave - 레지스트리 백업 파일을 저장하지 않기\n" 75 | "-save:파일 이름 - 레지스트리 백업을 이 파일로 저장\n" 76 | "-log:파일 이름 - 작업 기록을 이 파일로 저장\n" 77 | "-norestorepoint - 시스템 복원 지점을 만들지 않기\n" 78 | "-norestart - Don't restart Windows\n" 79 | "-noexplorer - Don't close Windows Explorer\n" 80 | "-lang:XX - XX (16진수) 언어 사용\n" 81 | "-silent - 숨김 방식 (가능한 경우)\n" 82 | "-? - 이 도움말을 보입니다\n" 83 | 84 | #: STRING.130 85 | msgid "WARNING! Eject all flash drives before cleaning please." 86 | msgstr "경고! 지우기 전에 모든 플래시 드라이브를 꺼내세요." 87 | 88 | #: STRING.132 89 | msgid "Process mode: real (data will be cleaned)." 90 | msgstr "처리 방식: 실제 (데이터가 지워집니다.)" 91 | 92 | #: STRING.133 93 | msgid "Process mode: simulation (no data will be cleaned)." 94 | msgstr "처리 방식: 모의 시험 (데이터가 지워지지 않습니다.)" 95 | 96 | #: STRING.134 97 | msgid "File creation error: " 98 | msgstr "파일 만들기 오류: " 99 | 100 | #: STRING.135 101 | msgid "File write error: " 102 | msgstr "파일 쓰기 오류: " 103 | 104 | #: STRING.136 105 | msgid "Backup file: " 106 | msgstr "백업 파일: " 107 | 108 | #: STRING.137 109 | msgid "Done." 110 | msgstr "마쳤습니다." 111 | 112 | #: STRING.138 113 | msgid "Gathering data from system registry..." 114 | msgstr "시스템 레지스트리로부터 데이터를 수집하는 중..." 115 | 116 | #: STRING.139 117 | msgid "Found drives (will be ignored): " 118 | msgstr "드라이브 발견 (무시됩니다.): " 119 | 120 | #: STRING.140 121 | msgid "Cleaning..." 122 | msgstr "지우는 중..." 123 | 124 | #: STRING.141 125 | msgid "Removing key: " 126 | msgstr "키를 제거하는 중: " 127 | 128 | #: STRING.142 129 | msgid "Removing value: " 130 | msgstr "값을 제거하는 중: " 131 | 132 | #: STRING.143 133 | msgid "Gathering user data..." 134 | msgstr "사용자 데이터를 수집하는 중..." 135 | 136 | #: STRING.144 137 | msgid "Gathering data about user: " 138 | msgstr "사용자에 대한 데이터를 수집하는 중: " 139 | 140 | #: STRING.145 141 | msgid "Found users: " 142 | msgstr "사용자 발견: " 143 | 144 | #: STRING.146 145 | msgid "Found mount points: " 146 | msgstr "탑재 지점 발견: " 147 | 148 | #: STRING.147 149 | msgid "Found Explorer drives: " 150 | msgstr "탐색기 드라이브 발견: " 151 | 152 | #: STRING.148 153 | msgid "Remove error: " 154 | msgstr "제거 오류: " 155 | 156 | #: STRING.149 157 | msgid "Gathering mount point's data..." 158 | msgstr "탑재 지점의 데이터를 수집하는 중..." 159 | 160 | #: STRING.150 161 | msgid "Found ControlSets: " 162 | msgstr "ControlSets 발견: " 163 | 164 | #: STRING.151 165 | msgid "Found keys: " 166 | msgstr "키 발견: " 167 | 168 | #: STRING.152 169 | msgid "Found values: " 170 | msgstr "값 발견: " 171 | 172 | #: STRING.153 173 | msgid "Key access denied: " 174 | msgstr "키 접근 거부됨: " 175 | 176 | #: STRING.154 177 | msgid "Disk %c: has been inserted." 178 | msgstr "디스크 %c: (은)는 삽입됐습니다." 179 | 180 | #: STRING.155 181 | msgid "Logged-in under system account successfully." 182 | msgstr "시스템 계정에 잘 로그인했습니다." 183 | 184 | #: STRING.156 185 | msgid "Failed to login under system account." 186 | msgstr "시스템 계정으로 로그인하지 못했습니다." 187 | 188 | #: STRING.157 189 | msgid "Re-starting under administrator..." 190 | msgstr "관리자로 다시 시작하는 중..." 191 | 192 | #: STRING.158 193 | msgid "Disk %c: has been ejected." 194 | msgstr "디스크 %c: (은)는 꺼내졌습니다." 195 | 196 | #: STRING.159 197 | msgid "Failed to eject disk %c:." 198 | msgstr "디스크 %c: (을)를 꺼내지 못했습니다." 199 | 200 | #: STRING.160 201 | msgid "Ejecting disk %c:..." 202 | msgstr "디스크 %c: 꺼내는 중..." 203 | 204 | #: STRING.161 205 | msgid "Removing file: " 206 | msgstr "파일을 제거하는 중: " 207 | 208 | #: STRING.162 209 | msgid "Gathering file data..." 210 | msgstr "파일 데이터를 수집하는 중..." 211 | 212 | #: STRING.163 213 | msgid "Cleaning journal: " 214 | msgstr "저널 지우는 중: " 215 | 216 | #: STRING.164 217 | msgid "Gathering journal data..." 218 | msgstr "저널 데이터를 수집하는 중..." 219 | 220 | #: STRING.165 221 | msgid "File removal error:" 222 | msgstr "파일 제거 오류:" 223 | 224 | #: STRING.166 225 | msgid "Removing file at boot-time:" 226 | msgstr "부트시 파일 제거:" 227 | 228 | #: STRING.167 229 | msgid "Journal cleanup error:" 230 | msgstr "저널 지우기 오류:" 231 | 232 | #: STRING.168 233 | msgid "Creating System Restore Point..." 234 | msgstr "시스템 복원 지점을 만드는 중..." 235 | 236 | #: STRING.169 237 | msgid "Closing Windows Explorer..." 238 | msgstr "" 239 | 240 | #: STRING.170 241 | msgid "Gathering Windows Search cache data..." 242 | msgstr "" 243 | 244 | #: STRING.171 245 | msgid "System Restore Point creation error: " 246 | msgstr "" 247 | 248 | #: STRING.172 249 | msgid "System Restore Point created successfully." 250 | msgstr "" 251 | 252 | #: STRING.173 253 | msgid "System Restore Point disabled." 254 | msgstr "" 255 | 256 | #: STRING.174 257 | msgid "Restarting Windows..." 258 | msgstr "" 259 | 260 | #: STRING.175 261 | msgid "Restarting Windows Explorer..." 262 | msgstr "" 263 | 264 | #: STRING.176 265 | msgid "Failed to restart Windows: " 266 | msgstr "" 267 | 268 | #: STRING.177 269 | msgid "Simulate" 270 | msgstr "" 271 | 272 | #: STRING.179 273 | msgid "Stopping Windows Services..." 274 | msgstr "" 275 | -------------------------------------------------------------------------------- /res/USBOblivion32.exe.13.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: USBOblivion32.exe\n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Language-Team: \n" 7 | "MIME-Version: 1.0\n" 8 | "Content-Type: text/plain; charset=UTF-8\n" 9 | "Content-Transfer-Encoding: 8bit\n" 10 | "X-Generator: Poedit 2.2.1\n" 11 | "Last-Translator: Jeroen Westera\n" 12 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 13 | "Language: nl_NL\n" 14 | 15 | #: DIALOGCONTROL.102.Button.1 STRING.178 16 | msgid "Clean" 17 | msgstr "Opruimen" 18 | 19 | #: DIALOGCONTROL.102.Button.1002 20 | msgid "Do real clean (simulation otherwise)" 21 | msgstr "Voer werkelijke opruimactie uit (anders simuleren)" 22 | 23 | #: DIALOGCONTROL.102.Button.1003 24 | msgid "Save backup .reg-file" 25 | msgstr "Bewaar een back-up reg-bestand" 26 | 27 | #: DIALOGCONTROL.102.Button.1004 28 | msgid "Reboot Windows (RECOMMENDED)" 29 | msgstr "Windows herstarten (aanbevolen)" 30 | 31 | #: DIALOGCONTROL.102.Button.1005 32 | msgid "Close Windows Explorer (RECOMMENDED)" 33 | msgstr "Windows Verkenner sluiten (aanbevolen)" 34 | 35 | #: DIALOGCONTROL.102.Button.2 36 | msgid "Exit" 37 | msgstr "Afsluiten" 38 | 39 | #: MENUITEM.130.32771 40 | msgid "Copy" 41 | msgstr "Kopiëren" 42 | 43 | #: MENUITEM.130.32772 44 | msgid "Copy all" 45 | msgstr "Alles kopiëren" 46 | 47 | #: STRING.129 48 | msgid "" 49 | "Usage:\n" 50 | "\n" 51 | "USBOblivion[32|64].exe [params]\n" 52 | "\n" 53 | "Params:\n" 54 | "\n" 55 | "-enable - Do real clean (simulation otherwise)\n" 56 | "-auto - Automatic run\n" 57 | "-nosave - Don't save a registry backup file\n" 58 | "-save:filename - Save a registry backup to this file\n" 59 | "-log:filename - Save working log to this file\n" 60 | "-norestorepoint - Don't create a System Restore Point\n" 61 | "-norestart - Don't restart Windows\n" 62 | "-noexplorer - Don't close Windows Explorer\n" 63 | "-lang:XX - Use language XX (hex-code)\n" 64 | "-silent - Hidden mode (if possible)\n" 65 | "-? - Show this help\n" 66 | msgstr "" 67 | "Gebruik:\n" 68 | "\n" 69 | "USBOblivion[32|64].exe [parameters]\n" 70 | "\n" 71 | "Parameters:\n" 72 | "\n" 73 | "-enable - Voer werkelijke opruimactie uit (anders simuleren)\n" 74 | "-auto - Automatisch uitvoeren\n" 75 | "-nosave - Geen register back-up maken\n" 76 | "-save:filename - Maak een register back-up naar dit bestand\n" 77 | "-log:filename - Bewaar een logbestand naar dit bestand\n" 78 | "-norestorepoint - Geen systeemherstelpunt maken\n" 79 | "-norestart - Windows niet herstarten\n" 80 | "-noexplorer - Windows verkenner niet sluiten\n" 81 | "-lang:XX - Gebruik taal XX (hex-code)\n" 82 | "-silent - Verborgen modus (indien mogelijk)\n" 83 | "-? - Toon dit help bestand\n" 84 | 85 | #: STRING.130 86 | msgid "WARNING! Eject all flash drives before cleaning please." 87 | msgstr "WAARSCHUWING! Verwijder a.u.b. alle usb schijven voor de opruimactie." 88 | 89 | #: STRING.132 90 | msgid "Process mode: real (data will be cleaned)." 91 | msgstr "Uitvoermodus: Opruimen (data zal worden gewist)." 92 | 93 | #: STRING.133 94 | msgid "Process mode: simulation (no data will be cleaned)." 95 | msgstr "Uitvoermodus: Simulatie (er wordt geen data gewist)." 96 | 97 | #: STRING.134 98 | msgid "File creation error: " 99 | msgstr "Fout bij bestand maken: " 100 | 101 | #: STRING.135 102 | msgid "File write error: " 103 | msgstr "Fout bij wegschrijven bestand: " 104 | 105 | #: STRING.136 106 | msgid "Backup file: " 107 | msgstr "Back-up bestand: " 108 | 109 | #: STRING.137 110 | msgid "Done." 111 | msgstr "Klaar." 112 | 113 | #: STRING.138 114 | msgid "Gathering data from system registry..." 115 | msgstr "Data vanuit het register verzamelen..." 116 | 117 | #: STRING.139 118 | msgid "Found drives (will be ignored): " 119 | msgstr "Gevonden schijven (zullen worden genegeerd): " 120 | 121 | #: STRING.140 122 | msgid "Cleaning..." 123 | msgstr "Opruimen..." 124 | 125 | #: STRING.141 126 | msgid "Removing key: " 127 | msgstr "Verwijderen sleutel: " 128 | 129 | #: STRING.142 130 | msgid "Removing value: " 131 | msgstr "Verwijderen waarde: " 132 | 133 | #: STRING.143 134 | msgid "Gathering user data..." 135 | msgstr "Verzamelen gebruikers data..." 136 | 137 | #: STRING.144 138 | msgid "Gathering data about user: " 139 | msgstr "Verzamelen data over gebruiker: " 140 | 141 | #: STRING.145 142 | msgid "Found users: " 143 | msgstr "Gevonden gebruikers: " 144 | 145 | #: STRING.146 146 | msgid "Found mount points: " 147 | msgstr "Gevonden koppelpunt(en): " 148 | 149 | #: STRING.147 150 | msgid "Found Explorer drives: " 151 | msgstr "Gevonden schijven: " 152 | 153 | #: STRING.148 154 | msgid "Remove error: " 155 | msgstr "Fout bij verwijderen: " 156 | 157 | #: STRING.149 158 | msgid "Gathering mount point's data..." 159 | msgstr "Verzamelen data koppelpunt(en)..." 160 | 161 | #: STRING.150 162 | msgid "Found ControlSets: " 163 | msgstr "Gevonden controlSets: " 164 | 165 | #: STRING.151 166 | msgid "Found keys: " 167 | msgstr "Gevonden sleutels: " 168 | 169 | #: STRING.152 170 | msgid "Found values: " 171 | msgstr "Gevonden waarden: " 172 | 173 | #: STRING.153 174 | msgid "Key access denied: " 175 | msgstr "Toegang tot sleutel verboden: " 176 | 177 | #: STRING.154 178 | msgid "Disk %c: has been inserted." 179 | msgstr "Schijf %c: is net aangesloten." 180 | 181 | #: STRING.155 182 | msgid "Logged-in under system account successfully." 183 | msgstr "Succesvol ingelogd als systeem account." 184 | 185 | #: STRING.156 186 | msgid "Failed to login under system account." 187 | msgstr "Inloggen als systeem account mislukt." 188 | 189 | #: STRING.157 190 | msgid "Re-starting under administrator..." 191 | msgstr "Herstarten als administrator..." 192 | 193 | #: STRING.158 194 | msgid "Disk %c: has been ejected." 195 | msgstr "Schijf %c: is net verwijderd." 196 | 197 | #: STRING.159 198 | msgid "Failed to eject disk %c:." 199 | msgstr "Verwijderen van schijf %c: is mislukt." 200 | 201 | #: STRING.160 202 | msgid "Ejecting disk %c:..." 203 | msgstr "Verwijderen van schijf %c:..." 204 | 205 | #: STRING.161 206 | msgid "Removing file: " 207 | msgstr "Verwijderen van bestand: " 208 | 209 | #: STRING.162 210 | msgid "Gathering file data..." 211 | msgstr "Verzamelen van bestandsdata..." 212 | 213 | #: STRING.163 214 | msgid "Cleaning journal: " 215 | msgstr "Opschonen journaal: " 216 | 217 | #: STRING.164 218 | msgid "Gathering journal data..." 219 | msgstr "Verzamelen van journaal data." 220 | 221 | #: STRING.165 222 | msgid "File removal error:" 223 | msgstr "Fout bij bestandsverwijdering:" 224 | 225 | #: STRING.166 226 | msgid "Removing file at boot-time:" 227 | msgstr "Verwijderen van bestand bij opstarten:" 228 | 229 | #: STRING.167 230 | msgid "Journal cleanup error:" 231 | msgstr "Fout bij opruimen journaal:" 232 | 233 | #: STRING.168 234 | msgid "Creating System Restore Point..." 235 | msgstr "Maken van systeemherstelpunt..." 236 | 237 | #: STRING.169 238 | msgid "Closing Windows Explorer..." 239 | msgstr "Windows Verkenner sluiten..." 240 | 241 | #: STRING.170 242 | msgid "Gathering Windows Search cache data..." 243 | msgstr "Verzamelen van data uit de cache van Windows zoeken..." 244 | 245 | #: STRING.171 246 | msgid "System Restore Point creation error: " 247 | msgstr "Fout bij het maken van een systeemherstelpunt: " 248 | 249 | #: STRING.172 250 | msgid "System Restore Point created successfully." 251 | msgstr "Maken van systeemherstelpunt gelukt." 252 | 253 | #: STRING.173 254 | msgid "System Restore Point disabled." 255 | msgstr "Systeemherstelpunt uitgeschakeld." 256 | 257 | #: STRING.174 258 | msgid "Restarting Windows..." 259 | msgstr "Herstarten Windows..." 260 | 261 | #: STRING.175 262 | msgid "Restarting Windows Explorer..." 263 | msgstr "Herstarten Windows Verkenner." 264 | 265 | #: STRING.176 266 | msgid "Failed to restart Windows: " 267 | msgstr "Herstarten van Windows mislukt: " 268 | 269 | #: STRING.177 270 | msgid "Simulate" 271 | msgstr "Simuleren" 272 | 273 | #: STRING.179 274 | msgid "Stopping Windows Services..." 275 | msgstr "" 276 | -------------------------------------------------------------------------------- /res/USBOblivion32.exe.15.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: USBOblivion32.exe\n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Language-Team: \n" 7 | "MIME-Version: 1.0\n" 8 | "Content-Type: text/plain; charset=UTF-8\n" 9 | "Content-Transfer-Encoding: 8bit\n" 10 | "X-Generator: Poedit 2.3.1\n" 11 | "Last-Translator: dmocha \n" 12 | "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n" 13 | "Language: pl_PL\n" 14 | 15 | #: DIALOGCONTROL.102.Button.1 STRING.178 16 | msgid "Clean" 17 | msgstr "Czyść" 18 | 19 | #: DIALOGCONTROL.102.Button.1002 20 | msgid "Do real clean (simulation otherwise)" 21 | msgstr "Czyść naprawdę (w przeciwnym razie będzie to tylko symulacja)" 22 | 23 | #: DIALOGCONTROL.102.Button.1003 24 | msgid "Save backup .reg-file" 25 | msgstr "Zapisz kopię do pliku .reg" 26 | 27 | #: DIALOGCONTROL.102.Button.1004 28 | msgid "Reboot Windows (RECOMMENDED)" 29 | msgstr "Uruchom ponownie system Windows (ZALECANE)" 30 | 31 | #: DIALOGCONTROL.102.Button.1005 32 | msgid "Close Windows Explorer (RECOMMENDED)" 33 | msgstr "Zamknij Eksploratora Windows (ZALECANE)" 34 | 35 | #: DIALOGCONTROL.102.Button.2 36 | msgid "Exit" 37 | msgstr "Wyjście" 38 | 39 | #: MENUITEM.130.32771 40 | msgid "Copy" 41 | msgstr "Kopiuj" 42 | 43 | #: MENUITEM.130.32772 44 | msgid "Copy all" 45 | msgstr "Kopiuj wszystko" 46 | 47 | #: STRING.129 48 | msgid "" 49 | "Usage:\n" 50 | "\n" 51 | "USBOblivion[32|64].exe [params]\n" 52 | "\n" 53 | "Params:\n" 54 | "\n" 55 | "-enable - Do real clean (simulation otherwise)\n" 56 | "-auto - Automatic run\n" 57 | "-nosave - Don't save a registry backup file\n" 58 | "-save:filename - Save a registry backup to this file\n" 59 | "-log:filename - Save working log to this file\n" 60 | "-norestorepoint - Don't create a System Restore Point\n" 61 | "-norestart - Don't restart Windows\n" 62 | "-noexplorer - Don't close Windows Explorer\n" 63 | "-lang:XX - Use language XX (hex-code)\n" 64 | "-silent - Hidden mode (if possible)\n" 65 | "-? - Show this help\n" 66 | msgstr "" 67 | "Sposób użycia:\n" 68 | "\n" 69 | "USBOblivion[32|64].exe [parametry]\n" 70 | "\n" 71 | "Parametry:\n" 72 | "\n" 73 | "-enable - Czyść naprawdę (w przeciwnym razie będzie to tylko symulacja)\n" 74 | "-auto - Automatyczny start\n" 75 | "-nosave - Nie zapisuj pliku kopii zapasowej rejestru\n" 76 | "-save:filename - Zapisz kopię zapasową rejestru do tego pliku\n" 77 | "-log:filename - Zapisz dziennik roboczy do tego pliku\n" 78 | "-norestorepoint - Nie twórz punktu przywracania systemu\n" 79 | "-norestart - Nie uruchamiaj ponownie systemu Windows\n" 80 | "-noexplorer - Nie zamykaj Eksploratora Windows\n" 81 | "-lang:XX - Użyj pliku językowego XX (kod szestnastkowy)\n" 82 | "-silent - Tryb ukryty (jeśli dostępny)\n" 83 | "-? - Pokaż tę pomoc.\n" 84 | 85 | #: STRING.130 86 | msgid "WARNING! Eject all flash drives before cleaning please." 87 | msgstr "OSTRZEŻENIE! Przed rozpoczęciem czyszczenia należy wysunąć wszystkie napędy flash." 88 | 89 | #: STRING.132 90 | msgid "Process mode: real (data will be cleaned)." 91 | msgstr "Tryb pracy: rzeczywisty (dane zostaną oczyszczone)." 92 | 93 | #: STRING.133 94 | msgid "Process mode: simulation (no data will be cleaned)." 95 | msgstr "Tryb pracy: symulacja (dane nie będą czyszczone)." 96 | 97 | #: STRING.134 98 | msgid "File creation error: " 99 | msgstr "Błąd tworzenia pliku: " 100 | 101 | #: STRING.135 102 | msgid "File write error: " 103 | msgstr "Błąd zapisu pliku: " 104 | 105 | #: STRING.136 106 | msgid "Backup file: " 107 | msgstr "Plik kopii: " 108 | 109 | #: STRING.137 110 | msgid "Done." 111 | msgstr "Wykonane." 112 | 113 | #: STRING.138 114 | msgid "Gathering data from system registry..." 115 | msgstr "Gromadzenie danych z rejestru systemowego..." 116 | 117 | #: STRING.139 118 | msgid "Found drives (will be ignored): " 119 | msgstr "Znalezione napędy (będą ignorowane): " 120 | 121 | #: STRING.140 122 | msgid "Cleaning..." 123 | msgstr "Czyszczenie..." 124 | 125 | #: STRING.141 126 | msgid "Removing key: " 127 | msgstr "Usuwanie klucza: " 128 | 129 | #: STRING.142 130 | msgid "Removing value: " 131 | msgstr "Usuwanie wartości: " 132 | 133 | #: STRING.143 134 | msgid "Gathering user data..." 135 | msgstr "Gromadzenie danych użytkownika..." 136 | 137 | #: STRING.144 138 | msgid "Gathering data about user: " 139 | msgstr "Gromadzenie informacji o użytkowniku: " 140 | 141 | #: STRING.145 142 | msgid "Found users: " 143 | msgstr "Znaleziono użytkowników: " 144 | 145 | #: STRING.146 146 | msgid "Found mount points: " 147 | msgstr "Znaleziono punkty montowania: " 148 | 149 | #: STRING.147 150 | msgid "Found Explorer drives: " 151 | msgstr "Znaleziono napędy Eksploratora: " 152 | 153 | #: STRING.148 154 | msgid "Remove error: " 155 | msgstr "Usuwanie błędu: " 156 | 157 | #: STRING.149 158 | msgid "Gathering mount point's data..." 159 | msgstr "Zbieranie danych punktu montowania..." 160 | 161 | #: STRING.150 162 | msgid "Found ControlSets: " 163 | msgstr "Znaleziono zestawy kontrolne: " 164 | 165 | #: STRING.151 166 | msgid "Found keys: " 167 | msgstr "Znaleziono klucze: " 168 | 169 | #: STRING.152 170 | msgid "Found values: " 171 | msgstr "Znaleziono wartości: " 172 | 173 | #: STRING.153 174 | msgid "Key access denied: " 175 | msgstr "Odmowa dostępu do klucza: " 176 | 177 | #: STRING.154 178 | msgid "Disk %c: has been inserted." 179 | msgstr "Dysk %c: został włożony." 180 | 181 | #: STRING.155 182 | msgid "Logged-in under system account successfully." 183 | msgstr "Zalogowanie do konta systemowego powiodło się." 184 | 185 | #: STRING.156 186 | msgid "Failed to login under system account." 187 | msgstr "Nie powiodło się zalogowanie do konta systemowego." 188 | 189 | #: STRING.157 190 | msgid "Re-starting under administrator..." 191 | msgstr "Ponowne uruchamianie jako administrator..." 192 | 193 | #: STRING.158 194 | msgid "Disk %c: has been ejected." 195 | msgstr "Dysk %c: został wysunięty." 196 | 197 | #: STRING.159 198 | msgid "Failed to eject disk %c:." 199 | msgstr "Nie można wysunąć dysku %c:." 200 | 201 | #: STRING.160 202 | msgid "Ejecting disk %c:..." 203 | msgstr "Wysuwanie dysku %c:..." 204 | 205 | #: STRING.161 206 | msgid "Removing file: " 207 | msgstr "Usuwanie pliku: " 208 | 209 | #: STRING.162 210 | msgid "Gathering file data..." 211 | msgstr "Zbieranie danych plików..." 212 | 213 | #: STRING.163 214 | msgid "Cleaning journal: " 215 | msgstr "Czyszczenie dziennika: " 216 | 217 | #: STRING.164 218 | msgid "Gathering journal data..." 219 | msgstr "Zbieranie danych z dziennika..." 220 | 221 | #: STRING.165 222 | msgid "File removal error:" 223 | msgstr "Błąd podczas usuwania pliku: " 224 | 225 | #: STRING.166 226 | msgid "Removing file at boot-time:" 227 | msgstr "Usuwanie pliku w czasie rozruchu: " 228 | 229 | #: STRING.167 230 | msgid "Journal cleanup error:" 231 | msgstr "Błąd podczas czyszczenia dziennika: " 232 | 233 | #: STRING.168 234 | msgid "Creating System Restore Point..." 235 | msgstr "Tworzenie punktu przywracania systemu..." 236 | 237 | #: STRING.169 238 | msgid "Closing Windows Explorer..." 239 | msgstr "Zamykanie przeglądarki Windows Explorer..." 240 | 241 | #: STRING.170 242 | msgid "Gathering Windows Search cache data..." 243 | msgstr "Gromadzenie danych z pamięci podręcznej Wyszukiwanie w systemie Windows..." 244 | 245 | #: STRING.171 246 | msgid "System Restore Point creation error: " 247 | msgstr "Błąd tworzenia punktu przywracania systemu: " 248 | 249 | #: STRING.172 250 | msgid "System Restore Point created successfully." 251 | msgstr "Punkt przywracania systemu został pomyślnie utworzony." 252 | 253 | #: STRING.173 254 | msgid "System Restore Point disabled." 255 | msgstr "Punkt przywracania systemu wyłączony." 256 | 257 | #: STRING.174 258 | msgid "Restarting Windows..." 259 | msgstr "Ponowne uruchomienie systemu Windows..." 260 | 261 | #: STRING.175 262 | msgid "Restarting Windows Explorer..." 263 | msgstr "Ponowne uruchomienie Eksploratora Windows..." 264 | 265 | #: STRING.176 266 | msgid "Failed to restart Windows: " 267 | msgstr "Nie udało się zrestartować systemu Windows: " 268 | 269 | #: STRING.177 270 | msgid "Simulate" 271 | msgstr "Symulacja" 272 | 273 | #: STRING.179 274 | msgid "Stopping Windows Services..." 275 | msgstr "Zatrzymywanie usług systemu Windows..." 276 | -------------------------------------------------------------------------------- /res/USBOblivion32.exe.16.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: USBOblivion32.exe\n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: Paulo Guzmán \n" 7 | "Language-Team: \n" 8 | "Language: pt_BR\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "X-Generator: Poedit 3.4.4\n" 13 | 14 | #: DIALOGCONTROL.102.Button.1 STRING.178 15 | msgid "Clean" 16 | msgstr "Limpar" 17 | 18 | #: DIALOGCONTROL.102.Button.1002 19 | msgid "Do real clean (simulation otherwise)" 20 | msgstr "Fazer limpeza real (simulação se marcado)" 21 | 22 | #: DIALOGCONTROL.102.Button.1003 23 | msgid "Save backup .reg-file" 24 | msgstr "Salvar backup em arquivo .reg" 25 | 26 | #: DIALOGCONTROL.102.Button.1004 27 | msgid "Reboot Windows (RECOMMENDED)" 28 | msgstr "Reiniciar o Windows (RECOMENDADO)" 29 | 30 | #: DIALOGCONTROL.102.Button.1005 31 | msgid "Close Windows Explorer (RECOMMENDED)" 32 | msgstr "Fechar o Windows Explorer (RECOMENDADO)" 33 | 34 | #: DIALOGCONTROL.102.Button.2 35 | msgid "Exit" 36 | msgstr "Sair" 37 | 38 | #: MENUITEM.130.32771 39 | msgid "Copy" 40 | msgstr "Copiar" 41 | 42 | #: MENUITEM.130.32772 43 | msgid "Copy all" 44 | msgstr "Copiar tudo" 45 | 46 | #: STRING.129 47 | msgid "" 48 | "Usage:\n" 49 | "\n" 50 | "USBOblivion[32|64].exe [params]\n" 51 | "\n" 52 | "Params:\n" 53 | "\n" 54 | "-enable - Do real clean (simulation otherwise)\n" 55 | "-auto - Automatic run\n" 56 | "-nosave - Don't save a registry backup file\n" 57 | "-save:filename - Save a registry backup to this file\n" 58 | "-log:filename - Save working log to this file\n" 59 | "-norestorepoint - Don't create a System Restore Point\n" 60 | "-norestart - Don't restart Windows\n" 61 | "-noexplorer - Don't close Windows Explorer\n" 62 | "-lang:XX - Use language XX (hex-code)\n" 63 | "-silent - Hidden mode (if possible)\n" 64 | "-? - Show this help\n" 65 | msgstr "" 66 | "Uso:\n" 67 | "\n" 68 | "USBOblivion[32|64].exe [parâmetros]\n" 69 | "\n" 70 | "Parâmetros:\n" 71 | "\n" 72 | "-enable - Fazer limpeza real (simulação se marcado)\n" 73 | "-auto - Executar automaticamente\n" 74 | "-nosave - Não salva um arquivo de backup do registro\n" 75 | "-save:filename - Salva um backup do registro neste arquivo\n" 76 | "-log:filename - Salva o log de trabalho neste arquivo\n" 77 | "-norestorepoint - Não cria um Ponto de Restauração do sistema\n" 78 | "-norestart - Não reinicia o Windows\n" 79 | "-noexplorer - Não fecha o Windows Explorer\n" 80 | "-lang:XX - Usar idioma XX (código hexadecimal)\n" 81 | "-silent - Modo oculto (se possível)\n" 82 | "-? - Mostra esta ajuda\n" 83 | 84 | #: STRING.130 85 | msgid "WARNING! Eject all flash drives before cleaning please." 86 | msgstr "ATENÇÃO! Por favor, ejete todas as unidades flash antes de limpar." 87 | 88 | #: STRING.132 89 | msgid "Process mode: real (data will be cleaned)." 90 | msgstr "Modo de processamento: real (os dados serão limpos)." 91 | 92 | #: STRING.133 93 | msgid "Process mode: simulation (no data will be cleaned)." 94 | msgstr "Modo de processamento: simulação (nenhum dado será limpo)." 95 | 96 | #: STRING.134 97 | msgid "File creation error: " 98 | msgstr "Erro ao criar o arquivo: " 99 | 100 | #: STRING.135 101 | msgid "File write error: " 102 | msgstr "Erro ao salvar o arquivo: " 103 | 104 | #: STRING.136 105 | msgid "Backup file: " 106 | msgstr "Arquivo de backup: " 107 | 108 | #: STRING.137 109 | msgid "Done." 110 | msgstr "Concluído." 111 | 112 | #: STRING.138 113 | msgid "Gathering data from system registry..." 114 | msgstr "Coletando dados do registro do sistema..." 115 | 116 | #: STRING.139 117 | msgid "Found drives (will be ignored): " 118 | msgstr "Unidades encontradas (serão ignoradas): " 119 | 120 | #: STRING.140 121 | msgid "Cleaning..." 122 | msgstr "Limpando..." 123 | 124 | #: STRING.141 125 | msgid "Removing key: " 126 | msgstr "Removendo chave: " 127 | 128 | #: STRING.142 129 | msgid "Removing value: " 130 | msgstr "Removendo valor: " 131 | 132 | #: STRING.143 133 | msgid "Gathering user data..." 134 | msgstr "Coletando dados do usuário..." 135 | 136 | #: STRING.144 137 | msgid "Gathering data about user: " 138 | msgstr "Coletando dados sobre o usuário: " 139 | 140 | #: STRING.145 141 | msgid "Found users: " 142 | msgstr "Usuários encontrados: " 143 | 144 | #: STRING.146 145 | msgid "Found mount points: " 146 | msgstr "Pontos de montagem encontrados: " 147 | 148 | #: STRING.147 149 | msgid "Found Explorer drives: " 150 | msgstr "Unidades encontradas no Explorer: " 151 | 152 | #: STRING.148 153 | msgid "Remove error: " 154 | msgstr "Erro ao remover: " 155 | 156 | #: STRING.149 157 | msgid "Gathering mount point's data..." 158 | msgstr "Coletando dados do ponto de montagem..." 159 | 160 | #: STRING.150 161 | msgid "Found ControlSets: " 162 | msgstr "ControlSets encontrados: " 163 | 164 | #: STRING.151 165 | msgid "Found keys: " 166 | msgstr "Chaves encontradas: " 167 | 168 | #: STRING.152 169 | msgid "Found values: " 170 | msgstr "Valores encontrados: " 171 | 172 | #: STRING.153 173 | msgid "Key access denied: " 174 | msgstr "Chave de acesso negada: " 175 | 176 | #: STRING.154 177 | msgid "Disk %c: has been inserted." 178 | msgstr "O dispositivo %c: foi inserido." 179 | 180 | #: STRING.155 181 | msgid "Logged-in under system account successfully." 182 | msgstr "Autenticado na conta do sistema com êxito." 183 | 184 | #: STRING.156 185 | msgid "Failed to login under system account." 186 | msgstr "Falha ao fazer login na conta do sistema." 187 | 188 | #: STRING.157 189 | msgid "Re-starting under administrator..." 190 | msgstr "Reiniciando como administrador..." 191 | 192 | #: STRING.158 193 | msgid "Disk %c: has been ejected." 194 | msgstr "O dispositivo %c: foi removido." 195 | 196 | #: STRING.159 197 | msgid "Failed to eject disk %c:." 198 | msgstr "Falha ao ejetar o dispositivo %c:." 199 | 200 | #: STRING.160 201 | msgid "Ejecting disk %c:..." 202 | msgstr "Ejetando o dispositivo %c:..." 203 | 204 | #: STRING.161 205 | msgid "Removing file: " 206 | msgstr "Removendo arquivo: " 207 | 208 | #: STRING.162 209 | msgid "Gathering file data..." 210 | msgstr "Coletando dados do arquivo..." 211 | 212 | #: STRING.163 213 | msgid "Cleaning journal: " 214 | msgstr "Limpando o journal: " 215 | 216 | #: STRING.164 217 | msgid "Gathering journal data..." 218 | msgstr "Coletando dados do journal..." 219 | 220 | #: STRING.165 221 | msgid "File removal error:" 222 | msgstr "Erro de remoção de arquivo:" 223 | 224 | #: STRING.166 225 | msgid "Removing file at boot-time:" 226 | msgstr "Removendo arquivo na inicialização:" 227 | 228 | #: STRING.167 229 | msgid "Journal cleanup error:" 230 | msgstr "Erro ao limpar o journal:" 231 | 232 | #: STRING.168 233 | msgid "Creating System Restore Point..." 234 | msgstr "Criando Ponto de Restauração do Sistema..." 235 | 236 | #: STRING.169 237 | msgid "Closing Windows Explorer..." 238 | msgstr "Fechando o Windows Explorer..." 239 | 240 | #: STRING.170 241 | msgid "Gathering Windows Search cache data..." 242 | msgstr "Coletando dados do cache do Windows Search..." 243 | 244 | #: STRING.171 245 | msgid "System Restore Point creation error: " 246 | msgstr "Erro na criação do Ponto de Restauração do Sistema: " 247 | 248 | #: STRING.172 249 | msgid "System Restore Point created successfully." 250 | msgstr "Ponto de Restauração do Sistema criado com sucesso." 251 | 252 | #: STRING.173 253 | msgid "System Restore Point disabled." 254 | msgstr "Ponto de Restauração do Sistema desabilitado." 255 | 256 | #: STRING.174 257 | msgid "Restarting Windows..." 258 | msgstr "Reiniciando o Windows..." 259 | 260 | #: STRING.175 261 | msgid "Restarting Windows Explorer..." 262 | msgstr "Reiniciando o Windows Explorer..." 263 | 264 | #: STRING.176 265 | msgid "Failed to restart Windows: " 266 | msgstr "Falha ao reiniciar o Windows: " 267 | 268 | #: STRING.177 269 | msgid "Simulate" 270 | msgstr "Simular" 271 | 272 | #: STRING.179 273 | msgid "Stopping Windows Services..." 274 | msgstr "Parando Serviços do Windows..." 275 | -------------------------------------------------------------------------------- /res/USBOblivion32.exe.19.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: USBOblivion32.exe\n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: Nikolay Raspopov \n" 7 | "Language-Team: \n" 8 | "Language: ru\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "X-Generator: Poedit 2.2.1\n" 13 | 14 | #: DIALOGCONTROL.102.Button.1 STRING.178 15 | msgid "Clean" 16 | msgstr "Очистка" 17 | 18 | #: DIALOGCONTROL.102.Button.1002 19 | msgid "Do real clean (simulation otherwise)" 20 | msgstr "Произвести реальную очистку (иначе симуляция)" 21 | 22 | #: DIALOGCONTROL.102.Button.1003 23 | msgid "Save backup .reg-file" 24 | msgstr "Сохранить .reg-файл отмены" 25 | 26 | #: DIALOGCONTROL.102.Button.1004 27 | msgid "Reboot Windows (RECOMMENDED)" 28 | msgstr "Перезапустить Windows (РЕКОМЕНДУЕТСЯ)" 29 | 30 | #: DIALOGCONTROL.102.Button.1005 31 | msgid "Close Windows Explorer (RECOMMENDED)" 32 | msgstr "Закрыть Проводник Windows (РЕКОМЕНДУЕТСЯ)" 33 | 34 | #: DIALOGCONTROL.102.Button.2 35 | msgid "Exit" 36 | msgstr "Выход" 37 | 38 | #: MENUITEM.130.32771 39 | msgid "Copy" 40 | msgstr "Копировать" 41 | 42 | #: MENUITEM.130.32772 43 | msgid "Copy all" 44 | msgstr "Копировать Всё" 45 | 46 | #: STRING.129 47 | msgid "" 48 | "Usage:\n" 49 | "\n" 50 | "USBOblivion[32|64].exe [params]\n" 51 | "\n" 52 | "Params:\n" 53 | "\n" 54 | "-enable - Do real clean (simulation otherwise)\n" 55 | "-auto - Automatic run\n" 56 | "-nosave - Don't save a registry backup file\n" 57 | "-save:filename - Save a registry backup to this file\n" 58 | "-log:filename - Save working log to this file\n" 59 | "-norestorepoint - Don't create a System Restore Point\n" 60 | "-norestart - Don't restart Windows\n" 61 | "-noexplorer - Don't close Windows Explorer\n" 62 | "-lang:XX - Use language XX (hex-code)\n" 63 | "-silent - Hidden mode (if possible)\n" 64 | "-? - Show this help\n" 65 | msgstr "" 66 | "Использование:\n" 67 | "\n" 68 | "USBOblivion[32|64].exe [параметры]\n" 69 | "\n" 70 | "Параметры:\n" 71 | "\n" 72 | "-enable - Рабочий режим очистки, иначе симуляция\n" 73 | "-auto - Автоматический запуск\n" 74 | "-nosave - Отмена сохранения резервной копии реестра\n" 75 | "-save:filename - Сохранять резервную копию реестра в файл\n" 76 | "-log:filename - Сохранять отчёт в файл\n" 77 | "-norestorepoint - Отмена создания точки восстановления\n" 78 | "-norestart - Отмена перезапуска Windows\n" 79 | "-noexplorer - Отмена закрытия Проводника\n" 80 | "-lang:XX - Использовать язык XX (шестнадцатиричный код)\n" 81 | "-silent - Режим скрытности (если возможно)\n" 82 | "-? - Выдача этой справки\n" 83 | 84 | #: STRING.130 85 | msgid "WARNING! Eject all flash drives before cleaning please." 86 | msgstr "ВНИМАНИЕ! Удалите все флешки из системы перед очисткой." 87 | 88 | #: STRING.132 89 | msgid "Process mode: real (data will be cleaned)." 90 | msgstr "Режим работы: рабочий (реальное удаление)." 91 | 92 | #: STRING.133 93 | msgid "Process mode: simulation (no data will be cleaned)." 94 | msgstr "Режим работы: симуляция (удаление не производится)." 95 | 96 | #: STRING.134 97 | msgid "File creation error: " 98 | msgstr "Ошибка создания файла: " 99 | 100 | #: STRING.135 101 | msgid "File write error: " 102 | msgstr "Ошибка записи в файл: " 103 | 104 | #: STRING.136 105 | msgid "Backup file: " 106 | msgstr "Файл отмены: " 107 | 108 | #: STRING.137 109 | msgid "Done." 110 | msgstr "Завершено." 111 | 112 | #: STRING.138 113 | msgid "Gathering data from system registry..." 114 | msgstr "Идёт сбор данных в системном реестре..." 115 | 116 | #: STRING.139 117 | msgid "Found drives (will be ignored): " 118 | msgstr "Найдено дисков в системе (игнорируются): " 119 | 120 | #: STRING.140 121 | msgid "Cleaning..." 122 | msgstr "Идёт очистка..." 123 | 124 | #: STRING.141 125 | msgid "Removing key: " 126 | msgstr "Удаление ключа: " 127 | 128 | #: STRING.142 129 | msgid "Removing value: " 130 | msgstr "Удаление значения: " 131 | 132 | #: STRING.143 133 | msgid "Gathering user data..." 134 | msgstr "Идёт сбор данных о пользователях..." 135 | 136 | #: STRING.144 137 | msgid "Gathering data about user: " 138 | msgstr "Идёт сбор данных пользователя: " 139 | 140 | #: STRING.145 141 | msgid "Found users: " 142 | msgstr "Найдено пользователей: " 143 | 144 | #: STRING.146 145 | msgid "Found mount points: " 146 | msgstr "Найдено точек монтирования: " 147 | 148 | #: STRING.147 149 | msgid "Found Explorer drives: " 150 | msgstr "Найдено дисков в Проводнике: " 151 | 152 | #: STRING.148 153 | msgid "Remove error: " 154 | msgstr "Ошибка удаления: " 155 | 156 | #: STRING.149 157 | msgid "Gathering mount point's data..." 158 | msgstr "Идёт сбор данных о точках монтирования..." 159 | 160 | #: STRING.150 161 | msgid "Found ControlSets: " 162 | msgstr "Найдено ControlSet'ов: " 163 | 164 | #: STRING.151 165 | msgid "Found keys: " 166 | msgstr "Найдено ключей: " 167 | 168 | #: STRING.152 169 | msgid "Found values: " 170 | msgstr "Найдено значений: " 171 | 172 | #: STRING.153 173 | msgid "Key access denied: " 174 | msgstr "Ошибка доступа к ключу: " 175 | 176 | #: STRING.154 177 | msgid "Disk %c: has been inserted." 178 | msgstr "Диск %c: вставлен." 179 | 180 | #: STRING.155 181 | msgid "Logged-in under system account successfully." 182 | msgstr "Вход под системный аккаунт произведён успешно." 183 | 184 | #: STRING.156 185 | msgid "Failed to login under system account." 186 | msgstr "Ошибка входа под системным аккаунтом." 187 | 188 | #: STRING.157 189 | msgid "Re-starting under administrator..." 190 | msgstr "Перезапуск под администратором..." 191 | 192 | #: STRING.158 193 | msgid "Disk %c: has been ejected." 194 | msgstr "Диск %c: извлечён." 195 | 196 | #: STRING.159 197 | msgid "Failed to eject disk %c:." 198 | msgstr "Ошибка извлечения диска %c:." 199 | 200 | #: STRING.160 201 | msgid "Ejecting disk %c:..." 202 | msgstr "Попытка извлечения диска %c:..." 203 | 204 | #: STRING.161 205 | msgid "Removing file: " 206 | msgstr "Удаление файла: " 207 | 208 | #: STRING.162 209 | msgid "Gathering file data..." 210 | msgstr "Идёт сбор данных о файлах..." 211 | 212 | #: STRING.163 213 | msgid "Cleaning journal: " 214 | msgstr "Очистка журнала: " 215 | 216 | #: STRING.164 217 | msgid "Gathering journal data..." 218 | msgstr "Идёт сбор данных о журналах..." 219 | 220 | #: STRING.165 221 | msgid "File removal error:" 222 | msgstr "Ошибка удаления файла:" 223 | 224 | #: STRING.166 225 | msgid "Removing file at boot-time:" 226 | msgstr "Удаление файла при перезагрузке:" 227 | 228 | #: STRING.167 229 | msgid "Journal cleanup error:" 230 | msgstr "Ошибка очистки журнала:" 231 | 232 | #: STRING.168 233 | msgid "Creating System Restore Point..." 234 | msgstr "Создание Системной Точки Восстановления..." 235 | 236 | #: STRING.169 237 | msgid "Closing Windows Explorer..." 238 | msgstr "Закрытие Проводника Windows..." 239 | 240 | #: STRING.170 241 | msgid "Gathering Windows Search cache data..." 242 | msgstr "Идёт сбор данных о кэшах Поиска Windows..." 243 | 244 | #: STRING.171 245 | msgid "System Restore Point creation error: " 246 | msgstr "Ошибка создания Системной Точки Восстановления: " 247 | 248 | #: STRING.172 249 | msgid "System Restore Point created successfully." 250 | msgstr "Системная Точка Восстановления создана." 251 | 252 | #: STRING.173 253 | msgid "System Restore Point disabled." 254 | msgstr "Системные Точки Восстановления выключены." 255 | 256 | #: STRING.174 257 | msgid "Restarting Windows..." 258 | msgstr "Перезапуск Windows..." 259 | 260 | #: STRING.175 261 | msgid "Restarting Windows Explorer..." 262 | msgstr "Перезапуск Проводника Windows..." 263 | 264 | #: STRING.176 265 | msgid "Failed to restart Windows: " 266 | msgstr "Ошибка перезапуска Windows: " 267 | 268 | #: STRING.177 269 | msgid "Simulate" 270 | msgstr "Симуляция" 271 | 272 | #: STRING.179 273 | msgid "Stopping Windows Services..." 274 | msgstr "Остановка Служб Windows..." 275 | -------------------------------------------------------------------------------- /res/USBOblivion32.exe.1d.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: USBOblivion32.exe\n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: Sopor \n" 7 | "Language-Team: Åke Engelbrektson \n" 8 | "Language: sv_SE\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "X-Generator: Poedit 2.4.2\n" 13 | 14 | #: DIALOGCONTROL.102.Button.1 STRING.178 15 | msgid "Clean" 16 | msgstr "Rensa" 17 | 18 | #: DIALOGCONTROL.102.Button.1002 19 | msgid "Do real clean (simulation otherwise)" 20 | msgstr "Rensa på riktigt (annars simulering)" 21 | 22 | #: DIALOGCONTROL.102.Button.1003 23 | msgid "Save backup .reg-file" 24 | msgstr "Spara säkerhetskopia (.reg-fil)" 25 | 26 | #: DIALOGCONTROL.102.Button.1004 27 | msgid "Reboot Windows (RECOMMENDED)" 28 | msgstr "" 29 | 30 | #: DIALOGCONTROL.102.Button.1005 31 | msgid "Close Windows Explorer (RECOMMENDED)" 32 | msgstr "" 33 | 34 | #: DIALOGCONTROL.102.Button.2 35 | msgid "Exit" 36 | msgstr "Avsluta" 37 | 38 | #: MENUITEM.130.32771 39 | msgid "Copy" 40 | msgstr "Kopiera" 41 | 42 | #: MENUITEM.130.32772 43 | msgid "Copy all" 44 | msgstr "Kopiera alla" 45 | 46 | #: STRING.129 47 | msgid "" 48 | "Usage:\n" 49 | "\n" 50 | "USBOblivion[32|64].exe [params]\n" 51 | "\n" 52 | "Params:\n" 53 | "\n" 54 | "-enable - Do real clean (simulation otherwise)\n" 55 | "-auto - Automatic run\n" 56 | "-nosave - Don't save a registry backup file\n" 57 | "-save:filename - Save a registry backup to this file\n" 58 | "-log:filename - Save working log to this file\n" 59 | "-norestorepoint - Don't create a System Restore Point\n" 60 | "-norestart - Don't restart Windows\n" 61 | "-noexplorer - Don't close Windows Explorer\n" 62 | "-lang:XX - Use language XX (hex-code)\n" 63 | "-silent - Hidden mode (if possible)\n" 64 | "-? - Show this help\n" 65 | msgstr "" 66 | "Användning:\n" 67 | "\n" 68 | "USBOblivion[32|64].exe [argument]\n" 69 | "\n" 70 | "Argument:\n" 71 | "\n" 72 | "-enable - Utför skarp rensning (annars simulering)\n" 73 | "-auto - Kör automatiskt\n" 74 | "-nosave - Sparar ingen säkerhetskopia (.reg-fil)\n" 75 | "-save:filename - Sparar en registerfilkopia till den här filen\n" 76 | "-log:filename - Sparar arbetsloggen till den här filen\n" 77 | "-norestorepoint - Skapa inte en systemåterställningspunkt\n" 78 | "-norestart - Don't restart Windows\n" 79 | "-noexplorer - Don't close Windows Explorer\n" 80 | "-lang:XX - Användarspråk XX (hex-kod)\n" 81 | "-silent - Dolt läge (om möjligt)\n" 82 | "-? - Visa denna hjälp\n" 83 | 84 | #: STRING.130 85 | msgid "WARNING! Eject all flash drives before cleaning please." 86 | msgstr "Varning! Mata ut alla flash-enheter före rensning." 87 | 88 | #: STRING.132 89 | msgid "Process mode: real (data will be cleaned)." 90 | msgstr "Processläge: skarpt (data kommer att rensas)." 91 | 92 | #: STRING.133 93 | msgid "Process mode: simulation (no data will be cleaned)." 94 | msgstr "Processläge: simulering (ingen data rensas)." 95 | 96 | #: STRING.134 97 | msgid "File creation error: " 98 | msgstr "Fel vid filskapande: " 99 | 100 | #: STRING.135 101 | msgid "File write error: " 102 | msgstr "Skrivfel: " 103 | 104 | #: STRING.136 105 | msgid "Backup file: " 106 | msgstr "Säkerhetskopia: " 107 | 108 | #: STRING.137 109 | msgid "Done." 110 | msgstr "Klar." 111 | 112 | #: STRING.138 113 | msgid "Gathering data from system registry..." 114 | msgstr "Samlar in data från registret..." 115 | 116 | #: STRING.139 117 | msgid "Found drives (will be ignored): " 118 | msgstr "Upptäckta diskenheter (ignoreras): " 119 | 120 | #: STRING.140 121 | msgid "Cleaning..." 122 | msgstr "Rensar..." 123 | 124 | #: STRING.141 125 | msgid "Removing key: " 126 | msgstr "Tar bort nyckel: " 127 | 128 | #: STRING.142 129 | msgid "Removing value: " 130 | msgstr "Tar bort värde: " 131 | 132 | #: STRING.143 133 | msgid "Gathering user data..." 134 | msgstr "Samlar in användardata..." 135 | 136 | #: STRING.144 137 | msgid "Gathering data about user: " 138 | msgstr "Samlar in data om användare: " 139 | 140 | #: STRING.145 141 | msgid "Found users: " 142 | msgstr "Hittade användare: " 143 | 144 | #: STRING.146 145 | msgid "Found mount points: " 146 | msgstr "Hittade monteringspunkter: " 147 | 148 | #: STRING.147 149 | msgid "Found Explorer drives: " 150 | msgstr "Hittade Utforskarenheter: " 151 | 152 | #: STRING.148 153 | msgid "Remove error: " 154 | msgstr "Borttagningsfel: " 155 | 156 | #: STRING.149 157 | msgid "Gathering mount point's data..." 158 | msgstr "Samlar in monteringspunktdata..." 159 | 160 | #: STRING.150 161 | msgid "Found ControlSets: " 162 | msgstr "Hittade kontrolluppsättningar: " 163 | 164 | #: STRING.151 165 | msgid "Found keys: " 166 | msgstr "Hittade nycklar: " 167 | 168 | #: STRING.152 169 | msgid "Found values: " 170 | msgstr "Hittade värden: " 171 | 172 | #: STRING.153 173 | msgid "Key access denied: " 174 | msgstr "Nekad nyckelåtkomst: " 175 | 176 | #: STRING.154 177 | msgid "Disk %c: has been inserted." 178 | msgstr "Enhet %c: har anslutits." 179 | 180 | #: STRING.155 181 | msgid "Logged-in under system account successfully." 182 | msgstr "Inloggad under systemkonto." 183 | 184 | #: STRING.156 185 | msgid "Failed to login under system account." 186 | msgstr "Kunde inte logga in under systemkonto." 187 | 188 | #: STRING.157 189 | msgid "Re-starting under administrator..." 190 | msgstr "Startar om som admininistratör..." 191 | 192 | #: STRING.158 193 | msgid "Disk %c: has been ejected." 194 | msgstr "Enhet %c: har matats ut." 195 | 196 | #: STRING.159 197 | msgid "Failed to eject disk %c:." 198 | msgstr "Kunde inte mata ut enhet %c:." 199 | 200 | #: STRING.160 201 | msgid "Ejecting disk %c:..." 202 | msgstr "Matar ut enhet %c:..." 203 | 204 | #: STRING.161 205 | msgid "Removing file: " 206 | msgstr "Tar bort fil: " 207 | 208 | #: STRING.162 209 | msgid "Gathering file data..." 210 | msgstr "Samlar in fildata..." 211 | 212 | #: STRING.163 213 | msgid "Cleaning journal: " 214 | msgstr "Rensar journal: " 215 | 216 | #: STRING.164 217 | msgid "Gathering journal data..." 218 | msgstr "Samlar in journaldata..." 219 | 220 | #: STRING.165 221 | msgid "File removal error:" 222 | msgstr "Fel vid borttagning av fil:" 223 | 224 | #: STRING.166 225 | msgid "Removing file at boot-time:" 226 | msgstr "Tar bort filen vid datoruppstart:" 227 | 228 | #: STRING.167 229 | msgid "Journal cleanup error:" 230 | msgstr "Fel i journalrensning:" 231 | 232 | #: STRING.168 233 | msgid "Creating System Restore Point..." 234 | msgstr "Skapar systemåterställningspunkt..." 235 | 236 | #: STRING.169 237 | msgid "Closing Windows Explorer..." 238 | msgstr "" 239 | 240 | #: STRING.170 241 | msgid "Gathering Windows Search cache data..." 242 | msgstr "" 243 | 244 | #: STRING.171 245 | msgid "System Restore Point creation error: " 246 | msgstr "" 247 | 248 | #: STRING.172 249 | msgid "System Restore Point created successfully." 250 | msgstr "" 251 | 252 | #: STRING.173 253 | msgid "System Restore Point disabled." 254 | msgstr "" 255 | 256 | #: STRING.174 257 | msgid "Restarting Windows..." 258 | msgstr "" 259 | 260 | #: STRING.175 261 | msgid "Restarting Windows Explorer..." 262 | msgstr "" 263 | 264 | #: STRING.176 265 | msgid "Failed to restart Windows: " 266 | msgstr "" 267 | 268 | #: STRING.177 269 | msgid "Simulate" 270 | msgstr "" 271 | 272 | #: STRING.179 273 | msgid "Stopping Windows Services..." 274 | msgstr "" 275 | -------------------------------------------------------------------------------- /res/USBOblivion32.exe.1f.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: USBOblivion32.exe\n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: Murat5038\n" 7 | "Language-Team: \n" 8 | "Language: tr-TR\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "X-Generator: Poedit 2.0.4\n" 13 | 14 | #: DIALOGCONTROL.102.Button.1 STRING.178 15 | msgid "Clean" 16 | msgstr "Temizle" 17 | 18 | #: DIALOGCONTROL.102.Button.1002 19 | msgid "Do real clean (simulation otherwise)" 20 | msgstr "İşaretleyin, (aksi halde similasyon işlevi görür)" 21 | 22 | #: DIALOGCONTROL.102.Button.1003 23 | msgid "Save backup .reg-file" 24 | msgstr ".reg Kurtarma Dosyasını Kaydet" 25 | 26 | #: DIALOGCONTROL.102.Button.1004 27 | msgid "Reboot Windows (RECOMMENDED)" 28 | msgstr "Windows'u Yeniden Başlat (Tavsiye Edilen)" 29 | 30 | #: DIALOGCONTROL.102.Button.1005 31 | msgid "Close Windows Explorer (RECOMMENDED)" 32 | msgstr "Windows Gezgini'ni Kapat (Tavsiye Edilen)" 33 | 34 | #: DIALOGCONTROL.102.Button.2 35 | msgid "Exit" 36 | msgstr "Çıkış" 37 | 38 | #: MENUITEM.130.32771 39 | msgid "Copy" 40 | msgstr "Kopyala" 41 | 42 | #: MENUITEM.130.32772 43 | msgid "Copy all" 44 | msgstr "Hepsini Kopyala" 45 | 46 | #: STRING.129 47 | msgid "" 48 | "Usage:\n" 49 | "\n" 50 | "USBOblivion[32|64].exe [params]\n" 51 | "\n" 52 | "Params:\n" 53 | "\n" 54 | "-enable - Do real clean (simulation otherwise)\n" 55 | "-auto - Automatic run\n" 56 | "-nosave - Don't save a registry backup file\n" 57 | "-save:filename - Save a registry backup to this file\n" 58 | "-log:filename - Save working log to this file\n" 59 | "-norestorepoint - Don't create a System Restore Point\n" 60 | "-norestart - Don't restart Windows\n" 61 | "-noexplorer - Don't close Windows Explorer\n" 62 | "-lang:XX - Use language XX (hex-code)\n" 63 | "-silent - Hidden mode (if possible)\n" 64 | "-? - Show this help\n" 65 | msgstr "" 66 | "Kullanımı:\n" 67 | "\n" 68 | "USBOblivion[32|64].exe [parametreler]\n" 69 | "\n" 70 | "Parametreler:\n" 71 | "\n" 72 | "-enable - Gerçek Temizlik için İşaretleyin (Aksi Halde Simülasyon yaparsınız)\n" 73 | "-auto - Otomatik Çalıştır\n" 74 | "-nosave - Kayıt Defteri Dosyasını Yedekleme\n" 75 | "-save:Dosya Adı - Kayıt Defteri Dosyasını Yedekle\n" 76 | "-log:Dosya Adı - Çalışma Günlüğünü Bu Dosyaya Kaydedin\n" 77 | "-norestorepoint - Sistem Geri Yükleme Noktası Oluşturma\n" 78 | "-norestart - Windows'u Yeniden Başlatmak İstemiyorum\n" 79 | "-noexplorer - Windows Gezgini'ni Kapatmak İstemiyorum\n" 80 | "-lang:XX - XX Dil Dosyanızın Numarası (Hex-Kodu)\n" 81 | "-silent - Gizli Mod (Mümkünse)\n" 82 | "-? - Yardımı Görüntüle\n" 83 | 84 | #: STRING.130 85 | msgid "WARNING! Eject all flash drives before cleaning please." 86 | msgstr "UYARI! Temizlemeden Önce Tüm Flash Sürücüleri(Bellekleri) Çıkarın Lütfen." 87 | 88 | #: STRING.132 89 | msgid "Process mode: real (data will be cleaned)." 90 | msgstr "İşlem Modu: Gerçek (Veriler Temizlenir)." 91 | 92 | #: STRING.133 93 | msgid "Process mode: simulation (no data will be cleaned)." 94 | msgstr "İşlem Modu: Simülasyon (Hiçbir Veri temizlenmez)." 95 | 96 | #: STRING.134 97 | msgid "File creation error: " 98 | msgstr "Dosya Oluşturma Hatası:" 99 | 100 | #: STRING.135 101 | msgid "File write error: " 102 | msgstr "Dosya Yazma Hatası:" 103 | 104 | #: STRING.136 105 | msgid "Backup file: " 106 | msgstr "Yedeklenen Dosya:" 107 | 108 | #: STRING.137 109 | msgid "Done." 110 | msgstr "Tamamlandı." 111 | 112 | #: STRING.138 113 | msgid "Gathering data from system registry..." 114 | msgstr "Sistem Kayıt Defterinden Veri Toplanıyor ..." 115 | 116 | #: STRING.139 117 | msgid "Found drives (will be ignored): " 118 | msgstr "Bulunan Sürücüler (Yoksayılacak):" 119 | 120 | #: STRING.140 121 | msgid "Cleaning..." 122 | msgstr "Temizleniyor..." 123 | 124 | #: STRING.141 125 | msgid "Removing key: " 126 | msgstr "Silinen Anahtar:" 127 | 128 | #: STRING.142 129 | msgid "Removing value: " 130 | msgstr "Silinen Değer:" 131 | 132 | #: STRING.143 133 | msgid "Gathering user data..." 134 | msgstr "Kullanıcı Verileri Toplanıyor ..." 135 | 136 | #: STRING.144 137 | msgid "Gathering data about user: " 138 | msgstr "Kullanıcı Hakkındaki Toplanan Veriler:" 139 | 140 | #: STRING.145 141 | msgid "Found users: " 142 | msgstr "Bulunan Kullanıcılar:" 143 | 144 | #: STRING.146 145 | msgid "Found mount points: " 146 | msgstr "Bulunan Bağlantı Noktaları;" 147 | 148 | #: STRING.147 149 | msgid "Found Explorer drives: " 150 | msgstr "Bulunan Explorer Sürücüleri:" 151 | 152 | #: STRING.148 153 | msgid "Remove error: " 154 | msgstr "Kaldırma Hatası:" 155 | 156 | #: STRING.149 157 | msgid "Gathering mount point's data..." 158 | msgstr "Bağlama Noktası Verileri Toplanıyor ..." 159 | 160 | #: STRING.150 161 | msgid "Found ControlSets: " 162 | msgstr "ControlSet'de Bulunanlar:" 163 | 164 | #: STRING.151 165 | msgid "Found keys: " 166 | msgstr "Bulunan Anahtarlar:" 167 | 168 | #: STRING.152 169 | msgid "Found values: " 170 | msgstr "Bulunan Değerler:" 171 | 172 | #: STRING.153 173 | msgid "Key access denied: " 174 | msgstr "Anahtar Erişim Hatası:" 175 | 176 | #: STRING.154 177 | msgid "Disk %c: has been inserted." 178 | msgstr "Disk %c: Yerleştirildi." 179 | 180 | #: STRING.155 181 | msgid "Logged-in under system account successfully." 182 | msgstr "Sistem Hesabı Altında Başarıyla Oturum Açıldı." 183 | 184 | #: STRING.156 185 | msgid "Failed to login under system account." 186 | msgstr "Sistem Hesabı Altında Oturum Açılamadı." 187 | 188 | #: STRING.157 189 | msgid "Re-starting under administrator..." 190 | msgstr "Yönetici Modunda Tekrar Başlatılıyor ..." 191 | 192 | #: STRING.158 193 | msgid "Disk %c: has been ejected." 194 | msgstr "Disk %c: Çıkarıldı." 195 | 196 | #: STRING.159 197 | msgid "Failed to eject disk %c:." 198 | msgstr "Disk Çıkartma Başarısız %c:." 199 | 200 | #: STRING.160 201 | msgid "Ejecting disk %c:..." 202 | msgstr " %c: Diski Çıkartılıyor ..." 203 | 204 | #: STRING.161 205 | msgid "Removing file: " 206 | msgstr "Kaldırılan Dosya:" 207 | 208 | #: STRING.162 209 | msgid "Gathering file data..." 210 | msgstr "Dosya Verilerini Topluyor..." 211 | 212 | #: STRING.163 213 | msgid "Cleaning journal: " 214 | msgstr "Günlük Temizleniyor:" 215 | 216 | #: STRING.164 217 | msgid "Gathering journal data..." 218 | msgstr "Günlük Verilerini Topluyor..." 219 | 220 | #: STRING.165 221 | msgid "File removal error:" 222 | msgstr "Dosya Kaldırma Hatası:" 223 | 224 | #: STRING.166 225 | msgid "Removing file at boot-time:" 226 | msgstr "Önyükleme Sırasından Dosya Kaldırılıyor:" 227 | 228 | #: STRING.167 229 | msgid "Journal cleanup error:" 230 | msgstr "Günlük Temizleme Hatası:" 231 | 232 | #: STRING.168 233 | msgid "Creating System Restore Point..." 234 | msgstr "Sistem Geri Yükleme Noktası Oluşturuluyor..." 235 | 236 | #: STRING.169 237 | msgid "Closing Windows Explorer..." 238 | msgstr "Windows Gezgini Kapatılıyor..." 239 | 240 | #: STRING.170 241 | msgid "Gathering Windows Search cache data..." 242 | msgstr "Windows Arama Önbellek Verileri Toplanıyor..." 243 | 244 | #: STRING.171 245 | msgid "System Restore Point creation error: " 246 | msgstr "Sistem Geri Yükleme Noktası Oluşturma Hatası: " 247 | 248 | #: STRING.172 249 | msgid "System Restore Point created successfully." 250 | msgstr "Sistem Geri Yükleme Noktası Başarıyla Oluşturuldu." 251 | 252 | #: STRING.173 253 | msgid "System Restore Point disabled." 254 | msgstr "Sistem Geri Yükleme Noktası devre dışı." 255 | 256 | #: STRING.174 257 | msgid "Restarting Windows..." 258 | msgstr "Windows Yeniden Başlatılıyor..." 259 | 260 | #: STRING.175 261 | msgid "Restarting Windows Explorer..." 262 | msgstr "Windows Gezgini Yeniden Başlatılıyor..." 263 | 264 | #: STRING.176 265 | msgid "Failed to restart Windows: " 266 | msgstr "Windows Yeniden Başlatma Başarısız: " 267 | 268 | #: STRING.177 269 | msgid "Simulate" 270 | msgstr "Simüle Et" 271 | 272 | #: STRING.179 273 | msgid "Stopping Windows Services..." 274 | msgstr "" 275 | -------------------------------------------------------------------------------- /res/USBOblivion32.exe.20.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: USBOblivion32.exe\n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: jaaka\n" 7 | "Language-Team: \n" 8 | "Language: cs_CZ\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "X-Generator: Poedit 2.1.1\n" 13 | "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" 14 | 15 | #: DIALOGCONTROL.102.Button.1 STRING.178 16 | msgid "Clean" 17 | msgstr "Čistit" 18 | 19 | #: DIALOGCONTROL.102.Button.1002 20 | msgid "Do real clean (simulation otherwise)" 21 | msgstr "Vyčistit systémový registr (NE simulace)" 22 | 23 | #: DIALOGCONTROL.102.Button.1003 24 | msgid "Save backup .reg-file" 25 | msgstr "Zálohovat systémový registr" 26 | 27 | #: DIALOGCONTROL.102.Button.1004 28 | msgid "Reboot Windows (RECOMMENDED)" 29 | msgstr "Restartovat Windows (DOPORUČENO)" 30 | 31 | #: DIALOGCONTROL.102.Button.1005 32 | msgid "Close Windows Explorer (RECOMMENDED)" 33 | msgstr "Ukončit Windows Explorer (DOPORUČENO)" 34 | 35 | #: DIALOGCONTROL.102.Button.2 36 | msgid "Exit" 37 | msgstr "Konec" 38 | 39 | #: MENUITEM.130.32771 40 | msgid "Copy" 41 | msgstr "Kopírovat" 42 | 43 | #: MENUITEM.130.32772 44 | msgid "Copy all" 45 | msgstr "Kopírovat vše" 46 | 47 | #: STRING.129 48 | msgid "" 49 | "Usage:\n" 50 | "\n" 51 | "USBOblivion[32|64].exe [params]\n" 52 | "\n" 53 | "Params:\n" 54 | "\n" 55 | "-enable - Do real clean (simulation otherwise)\n" 56 | "-auto - Automatic run\n" 57 | "-nosave - Don't save a registry backup file\n" 58 | "-save:filename - Save a registry backup to this file\n" 59 | "-log:filename - Save working log to this file\n" 60 | "-norestorepoint - Don't create a System Restore Point\n" 61 | "-norestart - Don't restart Windows\n" 62 | "-noexplorer - Don't close Windows Explorer\n" 63 | "-lang:XX - Use language XX (hex-code)\n" 64 | "-silent - Hidden mode (if possible)\n" 65 | "-? - Show this help\n" 66 | msgstr "" 67 | "Použití:\n" 68 | "\n" 69 | "USBOblivion[32|64].exe [parametry]\n" 70 | "\n" 71 | "Parametry:\n" 72 | "\n" 73 | "-enable - Vyčistit (NE simulace);\n" 74 | "-auto - Automatické spuštění;\n" 75 | "-nosave - Nezálohovat registr systému do souboru;\n" 76 | "-save:filename - Uložit zálohu registru do souboru filename;\n" 77 | "-log:filename - Ukládat log činnosti do souboru filename;\n" 78 | "-norestorepoint - Nevytvářet bod obnovení;\n" 79 | "-norestart - Nerestartovat Windows\n" 80 | "-noexplorer - Nezavírat Windows Explorer\n" 81 | "-lang:XX - Použít jazyk XX (hexadecimální kód);\n" 82 | "-silent - Skrytý mód (je-li možné);\n" 83 | "-? - Tato nápověda.\n" 84 | 85 | #: STRING.130 86 | msgid "WARNING! Eject all flash drives before cleaning please." 87 | msgstr "VAROVÁNÍ: Odpojte před čistěním všechny flash disky." 88 | 89 | #: STRING.132 90 | msgid "Process mode: real (data will be cleaned)." 91 | msgstr "Typ procesu: skutečné čistění (data budou vymazána)." 92 | 93 | #: STRING.133 94 | msgid "Process mode: simulation (no data will be cleaned)." 95 | msgstr "Typ procesu: simulace (data nebudou vymazána)." 96 | 97 | #: STRING.134 98 | msgid "File creation error: " 99 | msgstr "Chyba vytvoření souboru:" 100 | 101 | #: STRING.135 102 | msgid "File write error: " 103 | msgstr "Chyba zápisu do souboru:" 104 | 105 | #: STRING.136 106 | msgid "Backup file: " 107 | msgstr "Záloha souboru:" 108 | 109 | #: STRING.137 110 | msgid "Done." 111 | msgstr "Hotovo." 112 | 113 | #: STRING.138 114 | msgid "Gathering data from system registry..." 115 | msgstr "Načítám data ze systémového registu..." 116 | 117 | #: STRING.139 118 | msgid "Found drives (will be ignored): " 119 | msgstr "Nalezené jednotky (bude ignorováno):" 120 | 121 | #: STRING.140 122 | msgid "Cleaning..." 123 | msgstr "Čistění..." 124 | 125 | #: STRING.141 126 | msgid "Removing key: " 127 | msgstr "Odstraněn klíč:" 128 | 129 | #: STRING.142 130 | msgid "Removing value: " 131 | msgstr "Odstraněna hodnota:" 132 | 133 | #: STRING.143 134 | msgid "Gathering user data..." 135 | msgstr "Načítám uživatelská data..." 136 | 137 | #: STRING.144 138 | msgid "Gathering data about user: " 139 | msgstr "Načítám data o uživateli:" 140 | 141 | #: STRING.145 142 | msgid "Found users: " 143 | msgstr "Nalezeni uživatelé:" 144 | 145 | #: STRING.146 146 | msgid "Found mount points: " 147 | msgstr "Nalezen bod obnovy:" 148 | 149 | #: STRING.147 150 | msgid "Found Explorer drives: " 151 | msgstr "Nalezeny jednotky Exploreru:" 152 | 153 | #: STRING.148 154 | msgid "Remove error: " 155 | msgstr "Odstranit chybu:" 156 | 157 | #: STRING.149 158 | msgid "Gathering mount point's data..." 159 | msgstr "Načítám data o bodu obnovení..." 160 | 161 | #: STRING.150 162 | msgid "Found ControlSets: " 163 | msgstr "Nalezené systémové ControlSets:" 164 | 165 | #: STRING.151 166 | msgid "Found keys: " 167 | msgstr "Nalezené klíče:" 168 | 169 | #: STRING.152 170 | msgid "Found values: " 171 | msgstr "Nalezené hodnoty:" 172 | 173 | #: STRING.153 174 | msgid "Key access denied: " 175 | msgstr "Přístup ke klíči zakázán:" 176 | 177 | #: STRING.154 178 | msgid "Disk %c: has been inserted." 179 | msgstr "Disk %c: vložen." 180 | 181 | #: STRING.155 182 | msgid "Logged-in under system account successfully." 183 | msgstr "Přihlášení bylo úspěšné." 184 | 185 | #: STRING.156 186 | msgid "Failed to login under system account." 187 | msgstr "Přihlášení nebylo úspěšné." 188 | 189 | #: STRING.157 190 | msgid "Re-starting under administrator..." 191 | msgstr "Restartuji jako administrator..." 192 | 193 | #: STRING.158 194 | msgid "Disk %c: has been ejected." 195 | msgstr "Disk %c: odpojen." 196 | 197 | #: STRING.159 198 | msgid "Failed to eject disk %c:." 199 | msgstr "Chyba odpojení disku %c:" 200 | 201 | #: STRING.160 202 | msgid "Ejecting disk %c:..." 203 | msgstr "Odpojuji disk %c:..." 204 | 205 | #: STRING.161 206 | msgid "Removing file: " 207 | msgstr "Odstranění souboru:" 208 | 209 | #: STRING.162 210 | msgid "Gathering file data..." 211 | msgstr "Načítám data..." 212 | 213 | #: STRING.163 214 | msgid "Cleaning journal: " 215 | msgstr "Čištění žurnálu:" 216 | 217 | #: STRING.164 218 | msgid "Gathering journal data..." 219 | msgstr "Načítám data žurnálu..." 220 | 221 | #: STRING.165 222 | msgid "File removal error:" 223 | msgstr "Chyba odstranění souboru:" 224 | 225 | #: STRING.166 226 | msgid "Removing file at boot-time:" 227 | msgstr "Odstranit soubor po restartu:" 228 | 229 | #: STRING.167 230 | msgid "Journal cleanup error:" 231 | msgstr "Chyba při čištění žurnálu:" 232 | 233 | #: STRING.168 234 | msgid "Creating System Restore Point..." 235 | msgstr "Vytvářím bod obnovení..." 236 | 237 | #: STRING.169 238 | msgid "Closing Windows Explorer..." 239 | msgstr "Ukončuji Windows Explorer..." 240 | 241 | #: STRING.170 242 | msgid "Gathering Windows Search cache data..." 243 | msgstr "Načítám data dočasné paměti Hledání Windows..." 244 | 245 | #: STRING.171 246 | msgid "System Restore Point creation error: " 247 | msgstr "Chyba vytvoření bodu obnovení systému:" 248 | 249 | #: STRING.172 250 | msgid "System Restore Point created successfully." 251 | msgstr "Bod obnovení systému úspěšně vytvořen." 252 | 253 | #: STRING.173 254 | msgid "System Restore Point disabled." 255 | msgstr "Bod obnovení systému vypnut." 256 | 257 | #: STRING.174 258 | msgid "Restarting Windows..." 259 | msgstr "Restartuji Windows..." 260 | 261 | #: STRING.175 262 | msgid "Restarting Windows Explorer..." 263 | msgstr "Restartuji Windows Explorer..." 264 | 265 | #: STRING.176 266 | msgid "Failed to restart Windows: " 267 | msgstr "Nezdařený restart Windows:" 268 | 269 | #: STRING.177 270 | msgid "Simulate" 271 | msgstr "Simulovat" 272 | 273 | #: STRING.179 274 | msgid "Stopping Windows Services..." 275 | msgstr "" 276 | -------------------------------------------------------------------------------- /res/done.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raspopov/USBOblivion/0e0e0ce7d4dcdeef178bada5630ccb00387fc72e/res/done.ico -------------------------------------------------------------------------------- /res/eject.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raspopov/USBOblivion/0e0e0ce7d4dcdeef178bada5630ccb00387fc72e/res/eject.ico -------------------------------------------------------------------------------- /res/error.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raspopov/USBOblivion/0e0e0ce7d4dcdeef178bada5630ccb00387fc72e/res/error.ico -------------------------------------------------------------------------------- /res/info.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raspopov/USBOblivion/0e0e0ce7d4dcdeef178bada5630ccb00387fc72e/res/info.ico -------------------------------------------------------------------------------- /res/lock.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raspopov/USBOblivion/0e0e0ce7d4dcdeef178bada5630ccb00387fc72e/res/lock.ico -------------------------------------------------------------------------------- /res/regedit.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raspopov/USBOblivion/0e0e0ce7d4dcdeef178bada5630ccb00387fc72e/res/regedit.ico -------------------------------------------------------------------------------- /res/search.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raspopov/USBOblivion/0e0e0ce7d4dcdeef178bada5630ccb00387fc72e/res/search.ico -------------------------------------------------------------------------------- /res/warning.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raspopov/USBOblivion/0e0e0ce7d4dcdeef178bada5630ccb00387fc72e/res/warning.ico -------------------------------------------------------------------------------- /resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by USBOblivion.rc 4 | // 5 | #define IDD_USBOBLIVION_DIALOG 102 6 | #define IDR_MAINFRAME 128 7 | #define IDS_ABOUT 129 8 | #define IDS_WARNING 130 9 | #define IDR_CONTEXT 130 10 | #define IDS_MODE_WORK 132 11 | #define IDS_MODE_SIM 133 12 | #define IDI_SEARCH 133 13 | #define IDS_ERROR_FILE_CREATE 134 14 | #define IDI_DONE 134 15 | #define IDS_ERROR_FILE_WRITE 135 16 | #define IDI_REGEDIT 135 17 | #define IDS_FILE_REG 136 18 | #define IDI_LOCK 136 19 | #define IDS_RUN_DONE 137 20 | #define IDI_EJECT 137 21 | #define IDS_RUN_REGISTRY 138 22 | #define IDS_RUN_DISK_FOUND 139 23 | #define IDS_RUN_CLEAN 140 24 | #define IDS_DELETE_KEY 141 25 | #define IDS_DELETE_VALUE 142 26 | #define IDS_RUN_USERS 143 27 | #define IDS_RUN_USER 144 28 | #define IDS_RUN_USERS_FOUND 145 29 | #define IDS_RUN_MOUNT_FOUND 146 30 | #define IDS_RUN_EXPLORER_FOUND 147 31 | #define IDS_DELETE_ERROR 148 32 | #define IDS_RUN_MOUNTS 149 33 | #define IDS_RUN_CONTROLSETS_FOUND 150 34 | #define IDS_RUN_KEYS_FOUND 151 35 | #define IDS_RUN_VALUES_FOUND 152 36 | #define IDS_ERROR_ACCESS 153 37 | #define IDS_DISK_MOUNT 154 38 | #define IDS_RUN_IMPERSONATE 155 39 | #define IDS_ERROR_PROCESS_ACCESS 156 40 | #define IDS_AS_ADMIN 157 41 | #define IDS_DISK_UNMOUNT 158 42 | #define IDS_ERROR_EJECT 159 43 | #define IDS_RUN_EJECT 160 44 | #define IDS_DELETE_FILE 161 45 | #define IDS_RUN_FILES 162 46 | #define IDS_RUN_LOG 163 47 | #define IDS_RUN_LOGS 164 48 | #define IDS_DELETE_FILE_ERROR 165 49 | #define IDS_DELETE_FILE_BOOT 166 50 | #define IDS_RUN_LOG_ERROR 167 51 | #define IDS_RESTORE_POINT 168 52 | #define IDS_RUN_EXPLORER 169 53 | #define IDS_RUN_WINDOWS_SEARCH 170 54 | #define IDS_ERROR_RESTORE_POINT 171 55 | #define IDS_OK_RESTORE_POINT 172 56 | #define IDS_DISABLED_RESTORE_POINT 173 57 | #define IDS_RUN_REBOOT 174 58 | #define IDS_RUN_START_EXPLORER 175 59 | #define IDS_ERROR_REBOOT 176 60 | #define IDS_SIMULATE 177 61 | #define IDS_CLEAN 178 62 | #define IDS_RUN_SERVICES 179 63 | #define IDC_REPORT 1000 64 | #define IDC_ENABLE 1002 65 | #define IDC_SAVE 1003 66 | #define IDC_REBOOT 1004 67 | #define IDC_EXPLORER 1005 68 | #define IDI_ERR 32513 69 | #define IDI_WARN 32515 70 | #define IDI_INF 32516 71 | #define ID_COPY 32771 72 | #define ID_COPY_ALL 32772 73 | 74 | // Next default values for new objects 75 | // 76 | #ifdef APSTUDIO_INVOKED 77 | #ifndef APSTUDIO_READONLY_SYMBOLS 78 | #define _APS_NEXT_RESOURCE_VALUE 140 79 | #define _APS_NEXT_COMMAND_VALUE 32773 80 | #define _APS_NEXT_CONTROL_VALUE 1004 81 | #define _APS_NEXT_SYMED_VALUE 101 82 | #endif 83 | #endif 84 | -------------------------------------------------------------------------------- /stdafx.cpp: -------------------------------------------------------------------------------- 1 | // This is an open source non-commercial project. Dear PVS-Studio, please check it. 2 | // PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com 3 | // 4 | // stdafx.cpp 5 | // 6 | // Copyright (c) Nikolay Raspopov, 2009-2023. 7 | // This file is part of USB Oblivion (https://www.cherubicsoft.com/en/projects/usboblivion/) 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | // 23 | 24 | #include "stdafx.h" 25 | -------------------------------------------------------------------------------- /stdafx.h: -------------------------------------------------------------------------------- 1 | // 2 | // stdafx.h 3 | // 4 | // Copyright (c) Nikolay Raspopov, 2009-2023. 5 | // This file is part of USB Oblivion (https://www.cherubicsoft.com/en/projects/usboblivion/) 6 | // 7 | // This program is free software; you can redistribute it and/or modify 8 | // it under the terms of the GNU General Public License as published by 9 | // the Free Software Foundation; either version 2 of the License, or 10 | // (at your option) any later version. 11 | // 12 | // This program is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | // GNU General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU General Public License along 18 | // with this program; if not, write to the Free Software Foundation, Inc., 19 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | // 21 | 22 | #pragma once 23 | 24 | #ifndef _SECURE_ATL 25 | #define _SECURE_ATL 1 26 | #endif 27 | 28 | #ifndef VC_EXTRALEAN 29 | #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers 30 | #endif 31 | 32 | #define STRICT 33 | #define WIN32_LEAN_AND_MEAN 34 | #define NO_PRINT 35 | 36 | #include "targetver.h" 37 | 38 | #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS 39 | #define _ATL_NO_COM_SUPPORT 40 | #define _AFX_ALL_WARNINGS 41 | 42 | #define PSAPI_VERSION 1 43 | 44 | #include 45 | #include 46 | #include 47 | #include 48 | 49 | #include 50 | #include 51 | #include 52 | #include 53 | #include 54 | #include 55 | #include 56 | #include 57 | #include 58 | #include 59 | 60 | #include 61 | 62 | #ifndef BCM_FIRST 63 | #define BCM_FIRST 0x1600 64 | #endif 65 | 66 | #ifndef BCM_SETSHIELD 67 | #define BCM_SETSHIELD (BCM_FIRST + 0x000C) 68 | #endif 69 | 70 | #ifndef LVS_EX_DOUBLEBUFFER 71 | #define LVS_EX_DOUBLEBUFFER 0x00010000 72 | #endif 73 | 74 | #define DELETE_EXCEPTION(e) do { if(e) { e->Delete(); } } while (0) 75 | 76 | #define LOCALE_INVARIANT_W2K (MAKELCID(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), SORT_DEFAULT)) 77 | 78 | // window creation hooking 79 | void AFXAPI AfxHookWindowCreate( CWnd* pWnd ); 80 | BOOL AFXAPI AfxUnhookWindowCreate(); 81 | 82 | #ifdef _UNICODE 83 | #if defined _M_IX86 84 | #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"") 85 | #elif defined _M_IA64 86 | #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"") 87 | #elif defined _M_X64 88 | #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"") 89 | #else 90 | #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") 91 | #endif 92 | #endif 93 | -------------------------------------------------------------------------------- /targetver.h: -------------------------------------------------------------------------------- 1 | // 2 | // targetver.h 3 | // 4 | // Copyright (c) Nikolay Raspopov, 2009-2023. 5 | // This file is part of USB Oblivion (https://www.cherubicsoft.com/en/projects/usboblivion/) 6 | // 7 | // This program is free software; you can redistribute it and/or modify 8 | // it under the terms of the GNU General Public License as published by 9 | // the Free Software Foundation; either version 2 of the License, or 10 | // (at your option) any later version. 11 | // 12 | // This program is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | // GNU General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU General Public License along 18 | // with this program; if not, write to the Free Software Foundation, Inc., 19 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | // 21 | 22 | #pragma once 23 | 24 | #define _WIN32_WINNT 0x0501 25 | #include 26 | -------------------------------------------------------------------------------- /thread.h: -------------------------------------------------------------------------------- 1 | // 2 | // thread.h 3 | // 4 | // Copyright (c) Nikolay Raspopov, 2009-2023. 5 | // This file is part of USB Oblivion (https://www.cherubicsoft.com/en/projects/usboblivion/) 6 | // 7 | // This program is free software; you can redistribute it and/or modify 8 | // it under the terms of the GNU General Public License as published by 9 | // the Free Software Foundation; either version 2 of the License, or 10 | // (at your option) any later version. 11 | // 12 | // This program is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | // GNU General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU General Public License along 18 | // with this program; if not, write to the Free Software Foundation, Inc., 19 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | // 21 | 22 | #pragma once 23 | 24 | #include "event.h" 25 | #include 26 | 27 | namespace c4u { 28 | 29 | class thread 30 | { 31 | public: 32 | thread () noexcept : 33 | m_thread (nullptr), 34 | m_id (0), 35 | m_suspended (false) 36 | { 37 | } 38 | ~thread () noexcept 39 | { 40 | close (); 41 | } 42 | inline operator HANDLE () const noexcept 43 | { 44 | return m_thread; 45 | } 46 | inline operator bool () const noexcept 47 | { 48 | return (m_thread != nullptr); 49 | } 50 | inline bool start (unsigned(__stdcall*fn)(void*), 51 | LPVOID param = nullptr, bool suspended = false) noexcept 52 | { 53 | if (!m_thread) 54 | m_thread = reinterpret_cast (_beginthreadex (nullptr, 0, fn, param, 55 | (suspended ? CREATE_SUSPENDED : 0), &m_id)); 56 | return (m_thread != nullptr); 57 | } 58 | inline bool is_suspended () const noexcept 59 | { 60 | return m_suspended; 61 | } 62 | inline bool wait_for_stop (DWORD timeout = INFINITE) noexcept 63 | { 64 | while ( m_thread ) 65 | { 66 | resume (); 67 | MSG msg; 68 | while (PeekMessage (&msg, nullptr, 0, 0, PM_REMOVE)) 69 | { 70 | TranslateMessage (&msg); 71 | DispatchMessage (&msg); 72 | } 73 | DWORD reason = MsgWaitForMultipleObjects (1, &m_thread, FALSE, 74 | ((timeout == INFINITE) ? 250 : timeout), QS_ALLINPUT); 75 | switch (reason) 76 | { 77 | case WAIT_OBJECT_0 + 1: 78 | break; 79 | 80 | case WAIT_TIMEOUT: 81 | if (timeout != INFINITE) 82 | return false; 83 | break; 84 | 85 | default: // WAIT_OBJECT_0, WAIT_ABANDONED_0, WAIT_FAILED 86 | close (); 87 | } 88 | } 89 | return true; 90 | } 91 | inline bool is_running () const noexcept 92 | { 93 | return m_thread && (CoWaitForSingleObject (m_thread, 0) == WAIT_TIMEOUT); 94 | } 95 | inline void suspend () noexcept 96 | { 97 | if (m_thread) 98 | m_suspended = SuspendThread (m_thread) != (DWORD) -1; 99 | } 100 | inline void resume () noexcept 101 | { 102 | if (m_thread) { 103 | DWORD ret = (DWORD) -1; 104 | do { 105 | ret = ResumeThread (m_thread); 106 | } while (ret > 0 && ret != (DWORD) -1); 107 | m_suspended = false; 108 | } 109 | } 110 | inline void close () noexcept 111 | { 112 | if (m_thread) { 113 | locker_holder h (&m_guard); 114 | if (m_thread) { 115 | CloseHandle (m_thread); 116 | m_thread = nullptr; 117 | } 118 | } 119 | } 120 | inline int priority () const noexcept 121 | { 122 | if (m_thread) 123 | return GetThreadPriority (m_thread); 124 | else 125 | return THREAD_PRIORITY_ERROR_RETURN; 126 | } 127 | inline void priority (int p) noexcept 128 | { 129 | if (m_thread) 130 | SetThreadPriority (m_thread, p); 131 | } 132 | 133 | protected: 134 | cs m_guard; 135 | HANDLE m_thread; 136 | unsigned int m_id; 137 | bool m_suspended; 138 | }; 139 | 140 | #define THREAD_INLINE(ClassName,Fn) \ 141 | inline bool start##Fn (bool suspended = false) noexcept { \ 142 | m_term##Fn.reset (); \ 143 | return m_thread##Fn.start (stub##Fn, \ 144 | reinterpret_cast (this), suspended); \ 145 | } \ 146 | inline void stop##Fn () noexcept { \ 147 | m_term##Fn.set (); \ 148 | m_thread##Fn.wait_for_stop (); \ 149 | } \ 150 | inline void suspend##Fn () noexcept { \ 151 | if (!m_term##Fn.check ()) \ 152 | m_thread##Fn.suspend (); \ 153 | } \ 154 | inline void resume##Fn () noexcept { \ 155 | m_thread##Fn.resume (); \ 156 | } \ 157 | c4u::event m_term##Fn; \ 158 | c4u::thread m_thread##Fn; \ 159 | static unsigned __stdcall stub##Fn (void* param) noexcept { \ 160 | ClassName* self = reinterpret_cast (param); \ 161 | self->##Fn (); \ 162 | return 0; \ 163 | } 164 | 165 | #define THREAD(ClassName,Fn) \ 166 | void Fn (); \ 167 | THREAD_INLINE(ClassName,Fn) 168 | 169 | } 170 | -------------------------------------------------------------------------------- /vc_crt_fix.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raspopov/USBOblivion/0e0e0ce7d4dcdeef178bada5630ccb00387fc72e/vc_crt_fix.asm -------------------------------------------------------------------------------- /vc_crt_fix_impl.cpp: -------------------------------------------------------------------------------- 1 | // This is an open source non-commercial project. Dear PVS-Studio, please check it. 2 | // PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com 3 | /* 4 | vc_crt_fix_impl.cpp 5 | 6 | Workaround for Visual C++ CRT incompatibility with old Windows versions 7 | */ 8 | /* 9 | Copyright © 2011 Far Group 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions 14 | are met: 15 | 1. Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 2. Redistributions in binary form must reproduce the above copyright 18 | notice, this list of conditions and the following disclaimer in the 19 | documentation and/or other materials provided with the distribution. 20 | 3. The name of the authors may not be used to endorse or promote products 21 | derived from this software without specific prior written permission. 22 | 23 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 24 | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 25 | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 26 | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 27 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 28 | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 29 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 30 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 31 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 32 | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 33 | */ 34 | 35 | #include "stdafx.h" 36 | 37 | template 38 | T GetFunctionPointer(const wchar_t* ModuleName, const char* FunctionName, T Replacement) 39 | { 40 | const auto Address = GetProcAddress(GetModuleHandleW(ModuleName), FunctionName); 41 | return Address? reinterpret_cast(Address) : Replacement; 42 | } 43 | 44 | #define CREATE_FUNCTION_POINTER(ModuleName, FunctionName)\ 45 | static const auto Function = GetFunctionPointer(ModuleName, #FunctionName, &implementation::FunctionName) 46 | 47 | static const wchar_t kernel32[] = L"kernel32"; 48 | 49 | // EncodePointer (VC2010) 50 | extern "C" PVOID WINAPI EncodePointerWrapper(PVOID Ptr) 51 | { 52 | struct implementation 53 | { 54 | static PVOID WINAPI EncodePointer(PVOID Ptr) { return Ptr; } 55 | }; 56 | 57 | CREATE_FUNCTION_POINTER(kernel32, EncodePointer); 58 | return Function(Ptr); 59 | } 60 | 61 | // DecodePointer(VC2010) 62 | extern "C" PVOID WINAPI DecodePointerWrapper(PVOID Ptr) 63 | { 64 | struct implementation 65 | { 66 | static PVOID WINAPI DecodePointer(PVOID Ptr) { return Ptr; } 67 | }; 68 | 69 | CREATE_FUNCTION_POINTER(kernel32, DecodePointer); 70 | return Function(Ptr); 71 | } 72 | 73 | // GetModuleHandleExW (VC2012) 74 | extern "C" BOOL WINAPI GetModuleHandleExWWrapper(DWORD Flags, LPCWSTR ModuleName, HMODULE *Module) 75 | { 76 | struct implementation 77 | { 78 | static BOOL WINAPI GetModuleHandleExW(DWORD Flags, LPCWSTR ModuleName, HMODULE *Module) 79 | { 80 | if (Flags) 81 | { 82 | SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 83 | return FALSE; 84 | } 85 | 86 | const auto Handle = GetModuleHandleW(ModuleName); 87 | if (!Handle) 88 | return FALSE; 89 | 90 | *Module = Handle; 91 | return TRUE; 92 | } 93 | }; 94 | 95 | CREATE_FUNCTION_POINTER(kernel32, GetModuleHandleExW); 96 | return Function(Flags, ModuleName, Module); 97 | } 98 | 99 | // InitializeSListHead (VC2015) 100 | extern "C" void WINAPI InitializeSListHeadWrapper(PSLIST_HEADER ListHead) 101 | { 102 | struct implementation 103 | { 104 | static void WINAPI InitializeSListHead(PSLIST_HEADER ListHead) 105 | { 106 | UNUSED_ALWAYS(ListHead); 107 | SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 108 | } 109 | }; 110 | 111 | CREATE_FUNCTION_POINTER(kernel32, InitializeSListHead); 112 | return Function(ListHead); 113 | } 114 | 115 | // InterlockedFlushSList (VC2015) 116 | extern "C" PSLIST_ENTRY WINAPI InterlockedFlushSListWrapper(PSLIST_HEADER ListHead) 117 | { 118 | struct implementation 119 | { 120 | static PSLIST_ENTRY WINAPI InterlockedFlushSList(PSLIST_HEADER ListHead) 121 | { 122 | UNUSED_ALWAYS(ListHead); 123 | SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 124 | return nullptr; 125 | } 126 | }; 127 | 128 | CREATE_FUNCTION_POINTER(kernel32, InterlockedFlushSList); 129 | return Function(ListHead); 130 | } 131 | 132 | // InterlockedPopEntrySList (VC2015) 133 | extern "C" PSLIST_ENTRY WINAPI InterlockedPopEntrySListWrapper(PSLIST_HEADER ListHead) 134 | { 135 | struct implementation 136 | { 137 | static PSLIST_ENTRY WINAPI InterlockedPopEntrySList(PSLIST_HEADER ListHead) 138 | { 139 | UNUSED_ALWAYS(ListHead); 140 | SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 141 | return nullptr; 142 | } 143 | }; 144 | 145 | CREATE_FUNCTION_POINTER(kernel32, InterlockedPopEntrySList); 146 | return Function(ListHead); 147 | } 148 | 149 | // InterlockedPushEntrySList (VC2015) 150 | extern "C" PSLIST_ENTRY WINAPI InterlockedPushEntrySListWrapper(PSLIST_HEADER ListHead, PSLIST_ENTRY ListEntry) 151 | { 152 | struct implementation 153 | { 154 | static PSLIST_ENTRY WINAPI InterlockedPushEntrySList(PSLIST_HEADER ListHead, PSLIST_ENTRY ListEntry) 155 | { 156 | UNUSED_ALWAYS(ListHead); 157 | UNUSED_ALWAYS(ListEntry); 158 | SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 159 | return nullptr; 160 | } 161 | }; 162 | 163 | CREATE_FUNCTION_POINTER(kernel32, InterlockedPushEntrySList); 164 | return Function(ListHead, ListEntry); 165 | } 166 | 167 | // InterlockedPushListSList (VC2015) 168 | extern "C" PSLIST_ENTRY WINAPI InterlockedPushListSListExWrapper(PSLIST_HEADER ListHead, PSLIST_ENTRY List, PSLIST_ENTRY ListEnd, ULONG Count) 169 | { 170 | struct implementation 171 | { 172 | static PSLIST_ENTRY WINAPI InterlockedPushListSListEx(PSLIST_HEADER ListHead, PSLIST_ENTRY List, PSLIST_ENTRY ListEnd, ULONG Count) 173 | { 174 | UNUSED_ALWAYS(ListHead); 175 | UNUSED_ALWAYS(List); 176 | UNUSED_ALWAYS(ListEnd); 177 | UNUSED_ALWAYS(Count); 178 | SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 179 | return nullptr; 180 | } 181 | }; 182 | 183 | CREATE_FUNCTION_POINTER(kernel32, InterlockedPushListSListEx); 184 | return Function(ListHead, List, ListEnd, Count); 185 | } 186 | 187 | // RtlFirstEntrySList (VC2015) 188 | extern "C" PSLIST_ENTRY WINAPI RtlFirstEntrySListWrapper(PSLIST_HEADER ListHead) 189 | { 190 | struct implementation 191 | { 192 | static PSLIST_ENTRY WINAPI RtlFirstEntrySList(PSLIST_HEADER ListHead) 193 | { 194 | UNUSED_ALWAYS(ListHead); 195 | SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 196 | return nullptr; 197 | } 198 | }; 199 | 200 | CREATE_FUNCTION_POINTER(kernel32, RtlFirstEntrySList); 201 | return Function(ListHead); 202 | } 203 | 204 | // QueryDepthSList (VC2015) 205 | extern "C" USHORT WINAPI QueryDepthSListWrapper(PSLIST_HEADER ListHead) 206 | { 207 | struct implementation 208 | { 209 | static USHORT WINAPI QueryDepthSList(PSLIST_HEADER ListHead) 210 | { 211 | UNUSED_ALWAYS(ListHead); 212 | SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 213 | return 0; 214 | } 215 | }; 216 | 217 | CREATE_FUNCTION_POINTER(kernel32, QueryDepthSList); 218 | return Function(ListHead); 219 | } 220 | 221 | // disable VS2015 telemetry 222 | extern "C" 223 | { 224 | void __vcrt_initialize_telemetry_provider() {} 225 | void __telemetry_main_invoke_trigger() {} 226 | void __telemetry_main_return_trigger() {} 227 | void __vcrt_uninitialize_telemetry_provider() {} 228 | }; 229 | 230 | // GetTickCount64 (VC2022) 231 | extern "C" ULONGLONG WINAPI GetTickCount64Wrapper() 232 | { 233 | struct implementation 234 | { 235 | static ULONGLONG WINAPI GetTickCount64() 236 | { 237 | return GetTickCount(); 238 | } 239 | }; 240 | 241 | CREATE_FUNCTION_POINTER(kernel32, GetTickCount64); 242 | return Function(); 243 | } 244 | -------------------------------------------------------------------------------- /vs2015/USBOblivion.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25420.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "USBOblivion32", "USBOblivion32.vcxproj", "{5399995C-6BEF-4ADD-9104-46F6C57A7FD6}" 7 | EndProject 8 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "USBOblivion64", "USBOblivion64.vcxproj", "{5399995C-6BEF-4ADD-9104-46F6C57A7FD7}" 9 | EndProject 10 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{35071523-7561-47AB-B0E0-E2C8E0AA1FFD}" 11 | ProjectSection(SolutionItems) = preProject 12 | ..\ReadMe.txt = ..\ReadMe.txt 13 | EndProjectSection 14 | EndProject 15 | Global 16 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 17 | Debug|Win32 = Debug|Win32 18 | Debug|x64 = Debug|x64 19 | Release|Win32 = Release|Win32 20 | Release|x64 = Release|x64 21 | EndGlobalSection 22 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 23 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Debug|Win32.ActiveCfg = Debug|Win32 24 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Debug|Win32.Build.0 = Debug|Win32 25 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Debug|x64.ActiveCfg = Debug|Win32 26 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Debug|x64.Build.0 = Debug|Win32 27 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Release|Win32.ActiveCfg = Release|Win32 28 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Release|Win32.Build.0 = Release|Win32 29 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Release|x64.ActiveCfg = Release|Win32 30 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Release|x64.Build.0 = Release|Win32 31 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Debug|Win32.ActiveCfg = Debug|x64 32 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Debug|Win32.Build.0 = Debug|x64 33 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Debug|x64.ActiveCfg = Debug|x64 34 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Debug|x64.Build.0 = Debug|x64 35 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Release|Win32.ActiveCfg = Release|x64 36 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Release|Win32.Build.0 = Release|x64 37 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Release|x64.ActiveCfg = Release|x64 38 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Release|x64.Build.0 = Release|x64 39 | EndGlobalSection 40 | GlobalSection(SolutionProperties) = preSolution 41 | HideSolutionNode = FALSE 42 | EndGlobalSection 43 | GlobalSection(ExtensibilityGlobals) = postSolution 44 | SolutionGuid = {261B8E69-29CC-4700-8B45-610473DAF45C} 45 | EndGlobalSection 46 | GlobalSection(DPCodeReviewSolutionGUID) = preSolution 47 | DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} 48 | EndGlobalSection 49 | EndGlobal 50 | -------------------------------------------------------------------------------- /vs2015/USBOblivion32.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | Source Files 26 | 27 | 28 | Source Files 29 | 30 | 31 | Source Files 32 | 33 | 34 | Source Files 35 | 36 | 37 | Source Files 38 | 39 | 40 | Source Files 41 | 42 | 43 | 44 | 45 | Header Files 46 | 47 | 48 | Header Files 49 | 50 | 51 | Header Files 52 | 53 | 54 | Header Files 55 | 56 | 57 | Header Files 58 | 59 | 60 | Header Files 61 | 62 | 63 | Header Files 64 | 65 | 66 | 67 | 68 | Resource Files 69 | 70 | 71 | Resource Files 72 | 73 | 74 | Resource Files 75 | 76 | 77 | Resource Files 78 | 79 | 80 | Resource Files 81 | 82 | 83 | Resource Files 84 | 85 | 86 | Resource Files 87 | 88 | 89 | Resource Files 90 | 91 | 92 | Resource Files 93 | 94 | 95 | Resource Files 96 | 97 | 98 | Resource Files 99 | 100 | 101 | Resource Files 102 | 103 | 104 | Resource Files 105 | 106 | 107 | Resource Files 108 | 109 | 110 | Resource Files 111 | 112 | 113 | Resource Files 114 | 115 | 116 | Resource Files 117 | 118 | 119 | Resource Files 120 | 121 | 122 | Resource Files 123 | 124 | 125 | Resource Files 126 | 127 | 128 | Resource Files 129 | 130 | 131 | Resource Files 132 | 133 | 134 | Resource Files 135 | 136 | 137 | Resource Files 138 | 139 | 140 | 141 | 142 | Resource Files 143 | 144 | 145 | 146 | 147 | Source Files 148 | 149 | 150 | -------------------------------------------------------------------------------- /vs2015/USBOblivion64.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | Source Files 26 | 27 | 28 | Source Files 29 | 30 | 31 | Source Files 32 | 33 | 34 | Source Files 35 | 36 | 37 | Source Files 38 | 39 | 40 | Source Files 41 | 42 | 43 | 44 | 45 | Header Files 46 | 47 | 48 | Header Files 49 | 50 | 51 | Header Files 52 | 53 | 54 | Header Files 55 | 56 | 57 | Header Files 58 | 59 | 60 | Header Files 61 | 62 | 63 | Header Files 64 | 65 | 66 | 67 | 68 | Resource Files 69 | 70 | 71 | Resource Files 72 | 73 | 74 | Resource Files 75 | 76 | 77 | Resource Files 78 | 79 | 80 | Resource Files 81 | 82 | 83 | Resource Files 84 | 85 | 86 | Resource Files 87 | 88 | 89 | Resource Files 90 | 91 | 92 | Resource Files 93 | 94 | 95 | Resource Files 96 | 97 | 98 | Resource Files 99 | 100 | 101 | Resource Files 102 | 103 | 104 | Resource Files 105 | 106 | 107 | Resource Files 108 | 109 | 110 | Resource Files 111 | 112 | 113 | Resource Files 114 | 115 | 116 | Resource Files 117 | 118 | 119 | Resource Files 120 | 121 | 122 | Resource Files 123 | 124 | 125 | Resource Files 126 | 127 | 128 | Resource Files 129 | 130 | 131 | Resource Files 132 | 133 | 134 | Resource Files 135 | 136 | 137 | Resource Files 138 | 139 | 140 | 141 | 142 | Resource Files 143 | 144 | 145 | 146 | 147 | Source Files 148 | 149 | 150 | -------------------------------------------------------------------------------- /vs2017/USBOblivion.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.27130.2036 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "USBOblivion32", "USBOblivion32.vcxproj", "{5399995C-6BEF-4ADD-9104-46F6C57A7FD6}" 7 | EndProject 8 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "USBOblivion64", "USBOblivion64.vcxproj", "{5399995C-6BEF-4ADD-9104-46F6C57A7FD7}" 9 | EndProject 10 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{35071523-7561-47AB-B0E0-E2C8E0AA1FFD}" 11 | ProjectSection(SolutionItems) = preProject 12 | ..\ReadMe.txt = ..\ReadMe.txt 13 | EndProjectSection 14 | EndProject 15 | Global 16 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 17 | Debug|Win32 = Debug|Win32 18 | Debug|x64 = Debug|x64 19 | Release|Win32 = Release|Win32 20 | Release|x64 = Release|x64 21 | EndGlobalSection 22 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 23 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Debug|Win32.ActiveCfg = Debug|Win32 24 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Debug|Win32.Build.0 = Debug|Win32 25 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Debug|x64.ActiveCfg = Debug|Win32 26 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Debug|x64.Build.0 = Debug|Win32 27 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Release|Win32.ActiveCfg = Release|Win32 28 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Release|Win32.Build.0 = Release|Win32 29 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Release|x64.ActiveCfg = Release|Win32 30 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Release|x64.Build.0 = Release|Win32 31 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Debug|Win32.ActiveCfg = Debug|x64 32 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Debug|Win32.Build.0 = Debug|x64 33 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Debug|x64.ActiveCfg = Debug|x64 34 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Debug|x64.Build.0 = Debug|x64 35 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Release|Win32.ActiveCfg = Release|x64 36 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Release|Win32.Build.0 = Release|x64 37 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Release|x64.ActiveCfg = Release|x64 38 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Release|x64.Build.0 = Release|x64 39 | EndGlobalSection 40 | GlobalSection(SolutionProperties) = preSolution 41 | HideSolutionNode = FALSE 42 | EndGlobalSection 43 | GlobalSection(ExtensibilityGlobals) = postSolution 44 | SolutionGuid = {261B8E69-29CC-4700-8B45-610473DAF45C} 45 | EndGlobalSection 46 | GlobalSection(DPCodeReviewSolutionGUID) = preSolution 47 | DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} 48 | EndGlobalSection 49 | EndGlobal 50 | -------------------------------------------------------------------------------- /vs2017/USBOblivion32.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | Source Files 26 | 27 | 28 | Source Files 29 | 30 | 31 | Source Files 32 | 33 | 34 | Source Files 35 | 36 | 37 | Source Files 38 | 39 | 40 | Source Files 41 | 42 | 43 | 44 | 45 | Header Files 46 | 47 | 48 | Header Files 49 | 50 | 51 | Header Files 52 | 53 | 54 | Header Files 55 | 56 | 57 | Header Files 58 | 59 | 60 | Header Files 61 | 62 | 63 | Header Files 64 | 65 | 66 | 67 | 68 | Resource Files 69 | 70 | 71 | Resource Files 72 | 73 | 74 | Resource Files 75 | 76 | 77 | Resource Files 78 | 79 | 80 | Resource Files 81 | 82 | 83 | Resource Files 84 | 85 | 86 | Resource Files 87 | 88 | 89 | Resource Files 90 | 91 | 92 | Resource Files 93 | 94 | 95 | Resource Files 96 | 97 | 98 | Resource Files 99 | 100 | 101 | Resource Files 102 | 103 | 104 | Resource Files 105 | 106 | 107 | Resource Files 108 | 109 | 110 | Resource Files 111 | 112 | 113 | Resource Files 114 | 115 | 116 | Resource Files 117 | 118 | 119 | Resource Files 120 | 121 | 122 | Resource Files 123 | 124 | 125 | Resource Files 126 | 127 | 128 | Resource Files 129 | 130 | 131 | Resource Files 132 | 133 | 134 | Resource Files 135 | 136 | 137 | Resource Files 138 | 139 | 140 | 141 | 142 | Resource Files 143 | 144 | 145 | 146 | 147 | Source Files 148 | 149 | 150 | -------------------------------------------------------------------------------- /vs2017/USBOblivion64.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | Source Files 26 | 27 | 28 | Source Files 29 | 30 | 31 | Source Files 32 | 33 | 34 | Source Files 35 | 36 | 37 | Source Files 38 | 39 | 40 | Source Files 41 | 42 | 43 | 44 | 45 | Header Files 46 | 47 | 48 | Header Files 49 | 50 | 51 | Header Files 52 | 53 | 54 | Header Files 55 | 56 | 57 | Header Files 58 | 59 | 60 | Header Files 61 | 62 | 63 | Header Files 64 | 65 | 66 | 67 | 68 | Resource Files 69 | 70 | 71 | Resource Files 72 | 73 | 74 | Resource Files 75 | 76 | 77 | Resource Files 78 | 79 | 80 | Resource Files 81 | 82 | 83 | Resource Files 84 | 85 | 86 | Resource Files 87 | 88 | 89 | Resource Files 90 | 91 | 92 | Resource Files 93 | 94 | 95 | Resource Files 96 | 97 | 98 | Resource Files 99 | 100 | 101 | Resource Files 102 | 103 | 104 | Resource Files 105 | 106 | 107 | Resource Files 108 | 109 | 110 | Resource Files 111 | 112 | 113 | Resource Files 114 | 115 | 116 | Resource Files 117 | 118 | 119 | Resource Files 120 | 121 | 122 | Resource Files 123 | 124 | 125 | Resource Files 126 | 127 | 128 | Resource Files 129 | 130 | 131 | Resource Files 132 | 133 | 134 | Resource Files 135 | 136 | 137 | Resource Files 138 | 139 | 140 | 141 | 142 | Resource Files 143 | 144 | 145 | 146 | 147 | Source Files 148 | 149 | 150 | -------------------------------------------------------------------------------- /vs2022/USBOblivion.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 17 4 | VisualStudioVersion = 17.5.33627.172 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "USBOblivion32", "USBOblivion32.vcxproj", "{5399995C-6BEF-4ADD-9104-46F6C57A7FD6}" 7 | EndProject 8 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "USBOblivion64", "USBOblivion64.vcxproj", "{5399995C-6BEF-4ADD-9104-46F6C57A7FD7}" 9 | EndProject 10 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{35071523-7561-47AB-B0E0-E2C8E0AA1FFD}" 11 | ProjectSection(SolutionItems) = preProject 12 | ..\ReadMe.txt = ..\ReadMe.txt 13 | EndProjectSection 14 | EndProject 15 | Global 16 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 17 | Debug|Win32 = Debug|Win32 18 | Debug|x64 = Debug|x64 19 | Release|Win32 = Release|Win32 20 | Release|x64 = Release|x64 21 | EndGlobalSection 22 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 23 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Debug|Win32.ActiveCfg = Debug|Win32 24 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Debug|Win32.Build.0 = Debug|Win32 25 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Debug|x64.ActiveCfg = Debug|Win32 26 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Debug|x64.Build.0 = Debug|Win32 27 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Release|Win32.ActiveCfg = Release|Win32 28 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Release|Win32.Build.0 = Release|Win32 29 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Release|x64.ActiveCfg = Release|Win32 30 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD6}.Release|x64.Build.0 = Release|Win32 31 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Debug|Win32.ActiveCfg = Debug|x64 32 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Debug|Win32.Build.0 = Debug|x64 33 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Debug|x64.ActiveCfg = Debug|x64 34 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Debug|x64.Build.0 = Debug|x64 35 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Release|Win32.ActiveCfg = Release|x64 36 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Release|Win32.Build.0 = Release|x64 37 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Release|x64.ActiveCfg = Release|x64 38 | {5399995C-6BEF-4ADD-9104-46F6C57A7FD7}.Release|x64.Build.0 = Release|x64 39 | EndGlobalSection 40 | GlobalSection(SolutionProperties) = preSolution 41 | HideSolutionNode = FALSE 42 | EndGlobalSection 43 | GlobalSection(ExtensibilityGlobals) = postSolution 44 | SolutionGuid = {261B8E69-29CC-4700-8B45-610473DAF45C} 45 | EndGlobalSection 46 | GlobalSection(DPCodeReviewSolutionGUID) = preSolution 47 | DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} 48 | EndGlobalSection 49 | EndGlobal 50 | -------------------------------------------------------------------------------- /vs2022/USBOblivion32.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | Source Files 26 | 27 | 28 | Source Files 29 | 30 | 31 | Source Files 32 | 33 | 34 | Source Files 35 | 36 | 37 | Source Files 38 | 39 | 40 | Source Files 41 | 42 | 43 | 44 | 45 | Header Files 46 | 47 | 48 | Header Files 49 | 50 | 51 | Header Files 52 | 53 | 54 | Header Files 55 | 56 | 57 | Header Files 58 | 59 | 60 | Header Files 61 | 62 | 63 | Header Files 64 | 65 | 66 | 67 | 68 | Resource Files 69 | 70 | 71 | Resource Files 72 | 73 | 74 | Resource Files 75 | 76 | 77 | Resource Files 78 | 79 | 80 | Resource Files 81 | 82 | 83 | Resource Files 84 | 85 | 86 | Resource Files 87 | 88 | 89 | Resource Files 90 | 91 | 92 | Resource Files 93 | 94 | 95 | Resource Files 96 | 97 | 98 | Resource Files 99 | 100 | 101 | Resource Files 102 | 103 | 104 | Resource Files 105 | 106 | 107 | Resource Files 108 | 109 | 110 | Resource Files 111 | 112 | 113 | Resource Files 114 | 115 | 116 | Resource Files 117 | 118 | 119 | Resource Files 120 | 121 | 122 | Resource Files 123 | 124 | 125 | Resource Files 126 | 127 | 128 | Resource Files 129 | 130 | 131 | Resource Files 132 | 133 | 134 | Resource Files 135 | 136 | 137 | Resource Files 138 | 139 | 140 | 141 | 142 | Resource Files 143 | 144 | 145 | 146 | 147 | Source Files 148 | 149 | 150 | -------------------------------------------------------------------------------- /vs2022/USBOblivion64.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | Source Files 26 | 27 | 28 | Source Files 29 | 30 | 31 | Source Files 32 | 33 | 34 | Source Files 35 | 36 | 37 | Source Files 38 | 39 | 40 | Source Files 41 | 42 | 43 | 44 | 45 | Header Files 46 | 47 | 48 | Header Files 49 | 50 | 51 | Header Files 52 | 53 | 54 | Header Files 55 | 56 | 57 | Header Files 58 | 59 | 60 | Header Files 61 | 62 | 63 | Header Files 64 | 65 | 66 | 67 | 68 | Resource Files 69 | 70 | 71 | Resource Files 72 | 73 | 74 | Resource Files 75 | 76 | 77 | Resource Files 78 | 79 | 80 | Resource Files 81 | 82 | 83 | Resource Files 84 | 85 | 86 | Resource Files 87 | 88 | 89 | Resource Files 90 | 91 | 92 | Resource Files 93 | 94 | 95 | Resource Files 96 | 97 | 98 | Resource Files 99 | 100 | 101 | Resource Files 102 | 103 | 104 | Resource Files 105 | 106 | 107 | Resource Files 108 | 109 | 110 | Resource Files 111 | 112 | 113 | Resource Files 114 | 115 | 116 | Resource Files 117 | 118 | 119 | Resource Files 120 | 121 | 122 | Resource Files 123 | 124 | 125 | Resource Files 126 | 127 | 128 | Resource Files 129 | 130 | 131 | Resource Files 132 | 133 | 134 | Resource Files 135 | 136 | 137 | Resource Files 138 | 139 | 140 | 141 | 142 | Resource Files 143 | 144 | 145 | 146 | 147 | Source Files 148 | 149 | 150 | --------------------------------------------------------------------------------