upsMenu::~upsMenu() { // Kill status polling thread if (WaitForSingleObject(_thread, 10000) == WAIT_TIMEOUT) TerminateThread(_thread, 0); CloseHandle(_thread); // Destroy the mutex CloseHandle(_wait); // Destroy the status manager delete _statmgr; // Remove the tray icon DelTrayIcon(); // Destroy the window DestroyWindow(_hwnd); // Destroy the loaded menu DestroyMenu(_hmenu); // Unregister the window class UnregisterClass(APCTRAY_WINDOW_CLASS, _appinst); }
vncMenu::~vncMenu() { // Remove the tray icon DelTrayIcon(); // Destroy the loaded menu if (m_hmenu != NULL) DestroyMenu(m_hmenu); // Tell the server to stop notifying us! if (m_server != NULL) m_server->RemNotify(m_hwnd); if (m_server->RemoveWallpaperEnabled()) RestoreWallpaper(); }
vncMenu::~vncMenu() { vnclog.Print(LL_INTERR, VNCLOG("vncmenu killed\n")); // adzm 2009-07-05 - Tray icon balloon tips if (m_BalloonInfo) { free(m_BalloonInfo); m_BalloonInfo = NULL; } if (m_BalloonTitle) { free(m_BalloonTitle); m_BalloonTitle = NULL; } if (hWTSDll) { WTSUNREGISTERSESSIONNOTIFICATION FunctionWTSUnRegisterSessionNotification; FunctionWTSUnRegisterSessionNotification = (WTSUNREGISTERSESSIONNOTIFICATION)GetProcAddress((HINSTANCE)hWTSDll,"WTSUnRegisterSessionNotification" ); if (FunctionWTSUnRegisterSessionNotification) FunctionWTSUnRegisterSessionNotification( m_hwnd ); FreeLibrary( hWTSDll ); hWTSDll = NULL; } if (m_winvnc_icon) DestroyIcon(m_winvnc_icon); if (m_flash_icon) DestroyIcon(m_flash_icon); // Remove the tray icon DelTrayIcon(); // Destroy the loaded menu if (m_hmenu != NULL) DestroyMenu(m_hmenu); // Tell the server to stop notifying us! if (m_server != NULL) m_server->RemNotify(m_hwnd); if (m_server->RemoveWallpaperEnabled()) RestoreWallpaper(); if (m_server->RemoveAeroEnabled()) ResetAero(); }