void quitModule(HINSTANCE hInstance) { RemoveBangCommand("!LabelCreate"); RemoveBangCommand("!LabelDebug"); RemoveBangCommand("!LabelLsBoxHook"); for(LabelListIterator it = labelList.begin(); it != labelList.end(); it++) delete *it; labelList.clear(); SendMessage(GetLitestepWnd(), LM_UNREGISTERMESSAGE, (WPARAM) messageHandler, (LPARAM) lsMessages); DestroyWindow(messageHandler); UnregisterClass("LabelLS", hInstance); UnregisterClass("LabelMessageHandlerLS", hInstance); delete systemInfo; delete defaultSettings; hbmDesktop = (HBITMAP) SelectObject(hdcDesktop, hbmDesktop); DeleteDC(hdcDesktop); DeleteObject(hbmDesktop); }
void LSUtils::RemoveBangs(const Bang banglist[], const int nrofbangs) { if (banglist == NULL) return; for (int i = 0; i < nrofbangs; i++) RemoveBangCommand(banglist[i].bangName); }
// Litestep calls this function before it unloads the module. This function // should unregister bang commands and destroy windows. void quitModule(HINSTANCE hInstance) { //Unregister messages to Litestep SendMessage(hwndParent, LM_UNREGISTERMESSAGE, (WPARAM)hwndMain, (LPARAM)msgs); // Destroy message window DestroyWindow(hwndMain); UnregisterClass(szAppName, hInstance); // Unregister bang commands RemoveBangCommand("!AcidMailCheckMail"); RemoveBangCommand("!AcidMailClearNew"); // Destroy main class instance delete acidmail; acidmail = NULL; // Deactivate winsock WSACleanup(); }
void LSUtils::PrefixedRemoveBangs(LPCTSTR prefix, const Bang banglist[], const int nrofbangs) { if (banglist == NULL) return; LPTSTR szTemp; LPTSTR bangPrefix; bool prefixed = false; if ( _tcsncmp(prefix, TEXT("!"), 1 ) != 0) { AppendSetting(TEXT("!"), prefix, bangPrefix); prefixed = true; } for (int i = 0; i < nrofbangs; i++) { AppendSetting(bangPrefix, banglist[i].bangName, szTemp); RemoveBangCommand(szTemp); delete [] szTemp; } if (prefixed) delete [] bangPrefix; }
extern "C" void __cdecl quitModule(HINSTANCE dllInst) { RemoveBangCommand("!LSActiveDesktopNavigate"); RemoveBangCommand("!LSActiveDesktopRunJSFunction"); RemoveBangCommand("!LSActiveDesktopBack"); RemoveBangCommand("!LSActiveDesktopForward"); RemoveBangCommand("!LSActiveDesktopRefresh"); RemoveBangCommand("!LSActiveDesktopRefreshCache"); UINT msgs[] = {LM_GETREVID, LM_REFRESH, 0}; SendMessage(GetLitestepWnd(), LM_UNREGISTERMESSAGE, (WPARAM)hMain, (LPARAM)msgs); delete lsad; if (hMain != NULL) { DestroyWindow(hMain); hMain = NULL; } UnregisterClass(className, dllInst); }