Index: src/ch/ch.cpp =================================================================== diff -u -r1931a815738da9a9cdbc959f4338b2b4aaaac842 -rcbe8851b4ff9b0f235e2c700174370b8884cb844 --- src/ch/ch.cpp (.../ch.cpp) (revision 1931a815738da9a9cdbc959f4338b2b4aaaac842) +++ src/ch/ch.cpp (.../ch.cpp) (revision cbe8851b4ff9b0f235e2c700174370b8884cb844) @@ -41,8 +41,6 @@ // CCopyHandlerApp BEGIN_MESSAGE_MAP(CCopyHandlerApp, CWinApp) - //{{AFX_MSG_MAP(CCopyHandlerApp) - //}}AFX_MSG_MAP END_MESSAGE_MAP() int iCount=98; @@ -460,8 +458,12 @@ #endif HRESULT hResult = m_tShellExtClient.UnRegisterShellExtDll(strPath); - if(FAILED(hResult)) + if(hResult == TYPE_E_REGISTRYACCESS) { + MsgBox(IDS_CHEXT_ALREADY_UNREGISTERED, MB_ICONINFORMATION | MB_OK); + } + else if(FAILED(hResult)) + { TCHAR szStr[256]; FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, hResult, 0, szStr, 256, NULL); while (szStr[_tcslen(szStr)-1] == _T('\n') || szStr[_tcslen(szStr)-1] == _T('\r') || szStr[_tcslen(szStr)-1] == _T('.')) @@ -477,20 +479,6 @@ MsgBox(IDS_UNREGISTEROK_STRING, MB_ICONINFORMATION | MB_OK); } -/* -bool CCopyHandlerApp::IsShellExtEnabled() const -{ - if(m_piShellExtControl) - { - LONG lFlags = 0; - HRESULT hResult = m_piShellExtControl->GetFlags(&lFlags); - if(SUCCEEDED(hResult) && (lFlags & eShellExt_Enabled)) - return true; - } - return false; -} -*/ - void CCopyHandlerApp::OnConfigNotify(const chcore::TStringSet& setPropNames) { // is this language Index: src/ch/ch.rc =================================================================== diff -u -rbebda797ec6983535a8940f8f9f15453fe6b1785 -rcbe8851b4ff9b0f235e2c700174370b8884cb844 --- src/ch/ch.rc (.../ch.rc) (revision bebda797ec6983535a8940f8f9f15453fe6b1785) +++ src/ch/ch.rc (.../ch.rc) (revision cbe8851b4ff9b0f235e2c700174370b8884cb844) @@ -641,6 +641,7 @@ IDS_UNREGISTEROK_STRING "Integration with system disabled successfully." IDS_UNREGISTERERR_STRING "Encountered an error while trying to disable integration with system.\nError #%errno (%errdesc)." + IDS_CHEXT_ALREADY_UNREGISTERED "Integration with system already disabled." IDS_CRASH_STRING "Copy Handler encountered an internal problem and will be closed.\n\nIf you want to help correct this problem in the future releases of program you can send the crash information to the author of this program." IDS_COMMAND_LINE_FAILED_STRING "Cannot process command line arguments passed to Copy Handler." Index: src/ch/resource.h =================================================================== diff -u -rd88274a4bbfd4ef005d44c4d179b7596cb627486 -rcbe8851b4ff9b0f235e2c700174370b8884cb844 --- src/ch/resource.h (.../resource.h) (revision d88274a4bbfd4ef005d44c4d179b7596cb627486) +++ src/ch/resource.h (.../resource.h) (revision cbe8851b4ff9b0f235e2c700174370b8884cb844) @@ -25,7 +25,6 @@ #define IDD_NEW_FOLDER_DIALOG 151 #define IDD_NEW_QUICK_ACCESS_DIALOG 152 #define IDI_QUESTION_ICON 163 -#define IDD_FEEDBACK_DSTFILE_DIALOG 167 #define IDD_FEEDBACK_FILE_ERROR_DIALOG 167 #define IDD_FEEDBACK_NOTENOUGHSPACE_DIALOG 173 #define IDI_INFO_ICON 175 @@ -327,6 +326,7 @@ #define IDS_UNREGISTERERR_STRING 6004 #define IDS_CRASH_STRING 6006 #define IDS_COMMAND_LINE_FAILED_STRING 6007 +#define IDS_CHEXT_ALREADY_UNREGISTERED 6008 #define IDS_PROGRAM_STRING 8000 #define IDS_CLIPBOARDMONITORING_STRING 8001 #define IDS_CLIPBOARDINTERVAL_STRING 8002