PLUGIN_EXPORT void ExecuteBang(void* data, LPCWSTR args) { MeasureData* measure = (MeasureData*)data; if (_wcsicmp(args, L"EmptyBin") == 0) { SHEmptyRecycleBin(NULL, NULL, 0); } else if (_wcsicmp(args, L"EmptyBinSilent") == 0) { SHEmptyRecycleBin(NULL, NULL, SHERB_NOCONFIRMATION | SHERB_NOPROGRESSUI | SHERB_NOSOUND); } else if (_wcsicmp(args, L"OpenBin") == 0) { ShellExecute(NULL, L"open", L"explorer.exe", L"/N,::{645FF040-5081-101B-9F08-00AA002F954E}", NULL, SW_SHOW); } }
BOOL CleanFile(int _iType,CString& strFileFullPath) { int iType = _iType/1000; switch (iType) { case 1: switch (_iType) { case IECLEAN_INDEXDATA: //index.dat网址记录 { g_ieClean.CleanIndexDat(); return TRUE; } case IECLEAN_HISTORY: { if (g_ieClean.CleanIEHistory(strFileFullPath)) { return TRUE; } } break; default: { } } break; case 2: switch (_iType) { case WINSHISTORY_CLIPBOARD: if (OpenClipboard(NULL)==TRUE) { EmptyClipboard(); } CloseClipboard(); return TRUE; case WINDOWS_RECYCLE: //回收站 { SHEmptyRecycleBin(NULL,NULL,SHERB_NOCONFIRMATION|SHERB_NOPROGRESSUI| SHERB_NOSOUND); return TRUE; } } break; case 3: break; case 4: switch (_iType) { case FILEGARBAGE_RECYCLED: //回收站 { SHEmptyRecycleBin(NULL,NULL,SHERB_NOCONFIRMATION|SHERB_NOPROGRESSUI| SHERB_NOSOUND); return TRUE; } } break; case 5: switch (_iType) { case BROWSERSCLEAN_MYIE2: //myie2 { if (g_SpecialApp.CleanMyIE2_Clean(iType,strFileFullPath)) { return FALSE; } return TRUE; } case BROWSERSCLEAN_FIREFOX: //火狐 { if (g_firefoxClean.CleanFireFox(strFileFullPath)) { return TRUE; } } break; case BROWSERSCLEAN_CHROME: { if (g_chromClean.CleanChrome(strFileFullPath)) { return TRUE; } } break; case BROWSERSCLEAN_TT: { if (g_ttClean.CleanTT(strFileFullPath)) { return TRUE; } } break; case BROWSERSCLEAN_WORDWIN: { if (g_wordWinClean.CleanWorldIni(strFileFullPath)) { return TRUE; } } break; case BROWSERSCLEAN_MAXTHON: { if (g_maxmonthClean.CleanMaxmonthIni(strFileFullPath)) { return TRUE; } } break; case SOGO_COOKIES: { if (g_sogoClean.CleanSogoCookies(strFileFullPath.GetBuffer())) { return TRUE; } } break; case SOGO_ADVFORM: { if (g_sogoClean.CleanSogoAdvForm(strFileFullPath.GetBuffer())) { return TRUE; } } break; case BROWSERSCLEAN_SOGO: { if (g_sogoClean.CleanSogoHistory(strFileFullPath.GetBuffer())) { return TRUE; } } break; case SOGO_PASS: { if (g_sogoClean.CleanSogoPass()) { return TRUE; } } break; case SOGO_FORM: { if (g_sogoClean.CleanSogoForm()) { return TRUE; } } break; case BROWSERSCLEAN_OPERA: { if (g_operaClean.CleanOperaHistory(strFileFullPath.GetBuffer())) { return TRUE; } } default: break; } break; case 6: switch (_iType) { case IECLEAN_PASSWORD: //ie密码 { g_ieClean.IEFrom_Clean(); return TRUE; } break; case IECLEAN_SAVEFROM: //ie表单 { g_ieClean.CleanIEPassword(); return TRUE; } break; case MAXTHON_PASS: //ie密码 { g_ieClean.IEFrom_Clean(); return TRUE; } break; case MAXTHON_FORM: //ie表单 { g_ieClean.CleanIEPassword(); return TRUE; } break; case FIREFOX_SAVEFROM: //火狐表单 { g_firefoxClean.CleanFireFoxForm(strFileFullPath); return TRUE; } break; case FIREFOX_PASSWORD: { g_firefoxClean.CleanFireFoxPass(strFileFullPath); return TRUE; } case CHROME_SAVEFROM: { g_chromClean.CleanChromeForm(strFileFullPath); return TRUE; } break; case CHROME_COOKIES: { g_chromClean.CleanChromCookies(strFileFullPath); return TRUE; } break; case CHROME_PASSWORD: { g_chromClean.CleanChromePass(strFileFullPath); return TRUE; } break; case WORDWIN_USER: { g_wordWinClean.CleanWordWinUser(strFileFullPath); return TRUE; } break; case PASSANDFROM_360: { g_360Clean.Clean360User(strFileFullPath); return TRUE; } break; case PASSANDFROM_TT: { g_360Clean.Clean360User(strFileFullPath); return TRUE; } break; case FIREFOX_COOKIES: { g_firefoxClean.CleanFireFoxCookies(strFileFullPath); return TRUE; } break; } break; case 9: switch (_iType) { case 9029: //UltralEdit if (TRUE ==g_SpecialApp.CleanUltraEdit_Clean(iType,strFileFullPath)) { return TRUE; } break; case 9010: //Kugoo if (TRUE == g_SpecialApp.CleanKuGoo_Clean(iType,strFileFullPath)) { return TRUE; } break; case 9008: //暴风影音,如果返回FALSE则不是fun函数为普通处理方法 if (TRUE == g_SpecialApp.CleanStorm_Clean(iType,strFileFullPath)) { return TRUE; } break; case 9043: if (TRUE == g_qvodPlayer.CleanQcod(iType, strFileFullPath)) { return TRUE; } break; case 9042: if (TRUE == g_pptvPlayer.CleanPPTV(strFileFullPath)) { return TRUE; } break; case BITCOMETDOWNLOADER: if (TRUE == g_BitcometDowmloader.CleanBitcomet(strFileFullPath)) { return TRUE; } break; case PPS_PLAYER: if (TRUE == g_ppsPlayer.CleanPPS(strFileFullPath)) { return TRUE; } break; case KUWOMUSIC_PLAYER: if (TRUE == g_kuwoClean.CleanKuWo(strFileFullPath)) { return TRUE; } break; case XUNLEI7_DOWNLOADER: if (TRUE == g_SpecialApp.CleanXunleiSearch(strFileFullPath)) { return TRUE; } //case THUNDERDOWNLOADER: // if (TRUE == g_ThunderDownloader.CleanThunder(strFileFullPath)) // { // return TRUE; // } // break; } break; } ::OutputDebugString(strFileFullPath); if(FALSE==DeleteFile(strFileFullPath)) { DWORD dwErrCode = GetLastError(); if (dwErrCode == ERROR_FILE_NOT_FOUND) { OutputDebugString(_T("文件没有找到")); return TRUE; } else if (dwErrCode == ERROR_ACCESS_DENIED) { OutputDebugString(_T("没有访问权限")); } else { OutputDebugString(_T("其他错误")); } return FALSE; } return TRUE; }
//================================================================================================ //-----------------------------------------------------+++--> T-Clock Menu Command Message Handler: LRESULT OnTClockCommand(HWND hwnd, WPARAM wParam) //----------------------------------+++--> { WORD wID = LOWORD(wParam); switch(wID) { case IDM_REFRESHTCLOCK: RefreshUs(); break; case IDM_SHOWPROP: MyPropertySheet(-1); break; case IDM_PROP_ALARM: MyPropertySheet(1); break; case IDM_EXIT: SendMessage(hwnd,WM_CLOSE,0,0); break; case IDM_SHOWCALENDER: ToggleCalendar(1); // 1=own calendar break; case IDM_DISPLAYPROP: if(api.OS >= TOS_VISTA) api.Exec(L"::{26EE0668-A00A-44D7-9371-BEB064C98683}\\1\\::{C555438B-3C23-4769-A71F-B6D3D9B6053A}", NULL, NULL); else api.Exec(L"control", L"desk.cpl, display,1", NULL); break; case IDM_VOLUMECONTROL: //-------------------------------+++--> Volume Controls #ifndef _WIN64 # define OPEN_VOLUME L"SndVol32" #else # define OPEN_VOLUME L"SndVol" #endif // _WIN64 api.Exec(OPEN_VOLUME, NULL, NULL); break; case IDM_AUDIOPROP: //----------------------------------+++--> Audio settings / devices api.Exec(L"control", L"mmsys.cpl", NULL); break; case IDM_RECYCLEBIN: api.Exec(L"::{645FF040-5081-101B-9F08-00AA002F954E}", NULL, NULL); break; case IDM_RECYCLEBIN_PURGE:{ SHQUERYRBINFO info = {sizeof(info)}; // Windows seriously asks : SHQueryRecycleBin(NULL, &info); // "are you sure to delete all items" if(info.i64NumItems > 0 || api.OS == TOS_2000) // when the recycle bin is actually empty... SHEmptyRecycleBin(g_hwndTClockMain, NULL, 0); break;} case IDM_MAPDRIVE: //----------------------------------+++--> Map Network Drive WNetConnectionDialog(hwnd, RESOURCETYPE_DISK); break; case IDM_DISCONNECT: //-------------------------+++--> Disconnect Network Drive WNetDisconnectDialog(hwnd, RESOURCETYPE_DISK); break; case IDM_TOGGLE_DT: //---------------------------+++--> Show / Hide the Desktop ToggleDesk(); break; case IDM_QUICKY_WINEXP: { //-----------------//--+++--> Windows Explorer Opened api.Exec(L"Explorer", L"/e, ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", hwnd); break;} case IDM_QUICKY_DOS: { // Command Prompt api.Exec(L"cmd", L"/f:on /t:0a", hwnd); break;} case IDM_QUICKY_EMPTYRB: SHEmptyRecycleBin(0, NULL, SHERB_NOCONFIRMATION); break; case IDM_SHUTDOWN: if(!ShutDown()) MessageBox(0, L"Shutdown Request Failed!", L"ERROR", MB_OK|MB_ICONERROR|MB_SETFOREGROUND); break; case IDM_REBOOT: if(!ReBoot()) MessageBox(0, L"Reboot Request Failed!", L"ERROR", MB_OK|MB_ICONERROR|MB_SETFOREGROUND); break; case IDM_LOGOFF: if(!LogOff()) MessageBox(0, L"Logoff Request Failed!", L"ERROR", MB_OK|MB_ICONERROR|MB_SETFOREGROUND); break; case IDM_FWD_CASCADE: case IDM_FWD_SIDEBYSIDE: case IDM_FWD_STACKED: case IDM_FWD_SHOWDESKTOP: case IDM_FWD_MINALL: case IDM_FWD_UNDO: g_undo=(wID!=IDM_FWD_UNDO); /* fall through */ case IDM_FWD_DATETIME: case IDM_FWD_CUSTOMNOTIFYICONS: case IDM_FWD_TASKMAN: case IDM_FWD_LOCKTASKBAR: case IDM_FWD_LOCKALLTASKBAR: case IDM_FWD_TASKBARPROP: case IDM_FWD_RUNAPP: case IDM_FWD_EXITEXPLORER:{ HWND hwndTray = FindWindowA("Shell_TrayWnd", NULL); if(hwndTray) PostMessage(hwndTray, WM_COMMAND, wID, 0); break;} case IDM_DATETIME_EX:{ HWND hwnd1, hwnd2; int wait = 40; api.Exec(L"timedate.cpl", L"", 0); while((hwnd2=FindWindowA((char*)(uintptr_t)32770,"Date and Time"))==0 && wait--) Sleep(50); if(hwnd2){ SetActiveWindow(hwnd2); wait = 10; while((hwnd1=FindWindowExA(hwnd2,NULL,(char*)(uintptr_t)32770,"Date and Time"))==0 && wait--) Sleep(50); if(hwnd1){ hwnd2 = GetDlgItem(hwnd1,116); if(hwnd2) PostMessage(hwnd2,BM_CLICK,0,0); } } break;} case IDM_CHIME: /// Alarms AlarmChimeEnable(-1); break; case IDM_STOPWATCH: /// Timers DialogStopWatch(); break; case IDM_STOPWATCH_START: case IDM_STOPWATCH_RESUME: if(!IsWindow(g_hDlgStopWatch)) DialogStopWatch(); StopWatch_Resume(g_hDlgStopWatch); break; case IDM_STOPWATCH_STOP: case IDM_STOPWATCH_PAUSE: if(IsWindow(g_hDlgStopWatch)) StopWatch_Pause(g_hDlgStopWatch); break; case IDM_STOPWATCH_RESET: if(IsWindow(g_hDlgStopWatch)) StopWatch_Reset(g_hDlgStopWatch); break; case IDM_STOPWATCH_LAP: if(IsWindow(g_hDlgStopWatch)) StopWatch_Lap(g_hDlgStopWatch,0); break; case IDM_TIMER: DialogTimer(0); break; case IDM_TIMEWATCH: WatchTimer(0); // Shelter All the Homeless Timers. break; case IDM_TIMEWATCHRESET: WatchTimer(1); // Shelter All the Homeless Timers. break; case IDM_SNTP:{ short just_elevated = HIWORD(wParam); if(!just_elevated || HaveSetTimePermissions()) { ReplyMessage(1); NetTimeConfigDialog(0); return 1; // handled } else { if(IsWindow(g_hDlgSNTP)) SendMessage(g_hDlgSNTP, WM_CLOSE, 1, 0); // close window but safe changes } return 0;} case IDM_SYNCTIME: case IDM_SNTP_SYNC:{ short just_elevated = HIWORD(wParam); int can_sync = HaveSetTimePermissions(); if(!just_elevated || can_sync) { ReplyMessage(1); if(can_sync) { SyncTimeNow(); } else { if(api.ExecElevated(GetClockExe(),L"/UAC /Sync",NULL) != 0) { MessageBox(0, L"T-Clock must be elevated to set your system time,\nbut elevation was canceled", L"Time Sync Failed", MB_OK|MB_ICONERROR|MB_SETFOREGROUND); } } return 1; // handled } return 0;} default: #ifdef _DEBUG DBGOUT("%s: unknown ID: %.5i(0x%.4x) (hwnd:%p)", __FUNCTION__, wID, wID, hwnd); #endif // _DEBUG break; } return 0; }
BOOL CDelFileApp::InitInstance() { HANDLE hMapping; LPWSTR pszCommand; WCHAR *p; hMapping = CreateFileMapping((HANDLE)0xffffffff, NULL, PAGE_READONLY, 0, 32, L"YGDELF2004MAP"); if(!hMapping) { ExitProcess(1); } AfxEnableControlContainer(); #ifdef _AFXDLL Enable3dControls(); // Call this when using MFC in a shared DLL #else Enable3dControlsStatic(); // Call this when linking to MFC statically #endif WCHAR chCurrentProcessName[MAX_PATH]; pszCommand = GetCommandLineW(); p = wcschr(pszCommand,L' '); //if (!CheckRegValue()) //{ // SetRegValue(); // GetModuleFileNameW(NULL,chCurrentProcessName,MAX_PATH); // ShellExecuteW(GetFocus(),L"open",chCurrentProcessName,p,NULL,SW_SHOW); // return FALSE; //} if (wcsstr(pszCommand,L"DeleteFileInRecycled") != NULL || wcsstr(pszCommand,L"Recycled") != NULL || wcsstr(pszCommand,L"RECYCLER") != NULL) { g_bDeleteObjMark = TRUE; if (SecDeleteFileInRecycled()) { SHEmptyRecycleBin(NULL,NULL,SHERB_NOCONFIRMATION|SHERB_NOPROGRESSUI|SHERB_NOSOUND); } // HWND hDeskTop = GetDesktopWindow(); // UpdateWindow(hDeskTop); return FALSE; } p = wcschr(pszCommand,L'"'); if(p) { p ++; pszCommand = p; p = wcschr(pszCommand,L'"'); if(p) { p ++; if (wcslen(p) > 2) { ParseCmdLine(p); return FALSE; } } } UpdateScheduleSetting(); CMainDlg MainDlg; MainDlg.DoModal(); // Since the dialog has been closed, return FALSE so that we exit the // application, rather than start the application's message pump. return FALSE; }
void CRecBinViewer::EmptyHelper () { SHEmptyRecycleBin (m_hWnd, NULL, 0); }
// Запрос на выполнение команды под номером cmdid void Command(int cmdid) { switch (cmdid) { case RUN_SCREENSAVER: // debug PostMessage(GetDesktopWindow(),WM_SYSCOMMAND,SC_SCREENSAVE,0); break; case SH_ICONS_DESKTOP: if (IsWindowVisible(FindWindow("Progman",NULL))) ShowWindow(FindWindow("Progman",NULL),SW_HIDE); else ShowWindow(FindWindow("Progman",NULL),SW_SHOW); break; case SH_TASK_PANEL: if (IsWindowVisible(FindWindow("Shell_TrayWnd",NULL))) ShowWindow(FindWindow("Shell_TrayWnd",NULL),SW_HIDE); else ShowWindow(FindWindow("Shell_TrayWnd",NULL),SW_SHOW); break; case CLEAR_DOCUMENTS: SHAddToRecentDocs(SHARD_PATH,NULL); break; /* Вопрос: Как програмно перезагрузить Windows? Ответ: Используйте функцию ExitWindows(). В качестве первого параметра ей передается она из трех констант: EW_RESTARTWINDOWS EW_REBOOTSYSTEM EW_EXITANDEXECAPP Второй параметр используется для перезагрузки компьютера в режиме эмуляции MS DOS. Пример: ExitWindows(EW_RESTARTWINDOWS, 0 ); завеpшение сеанса: RUNDLL32.EXE shell32.dll,SHExitWindowsEx выключение: RUNDLL32.EXE shell32.dll,SHExitWindowsEx 1 Reboot: RUNDLL32.EXE shell32.dll,SHExitWindowsEx 2 Без запpоса завеpшение сеанса: RUNDLL32.EXE shell32.dll,SHExitWindowsEx 4 выключение: RUNDLL32.EXE shell32.dll,SHExitWindowsEx 5 Reboot: RUNDLL32.EXE shell32.dll,SHExitWindowsEx 6 */ case PC_SHUTDOWN: ExitWindowsEx(EWX_SHUTDOWN,0); break; case PC_RESTART: ExitWindowsEx(EWX_REBOOT,0); break; case PC_QUICKRESTART: ExitWindowsEx(EWX_FORCE|EWX_REBOOT,0); break; case PC_RESTARTOS: // ExitWindowsEx(EW_RESTARTWINDOWS,0); break; case PC_LOGOUT: ExitWindowsEx(EWX_LOGOFF,0); break; case CD_AUDIO_OPEN: mciSendString("Set cdaudio door open wait",NULL,0,GetDesktopWindow()); break; case CD_AUDIO_CLOSE: mciSendString("Set cdaudio door closed wait",NULL,0,GetDesktopWindow()); break; case CLEAR_RECYCLEDBIN: SHEmptyRecycleBin(NULL,NULL,SHERB_NOPROGRESSUI); break; case MONITOR_OFF: PostMessage(GetDesktopWindow(),WM_SYSCOMMAND,SC_MONITORPOWER,1); break; case MONITOR_ON: PostMessage(GetDesktopWindow(),WM_SYSCOMMAND,SC_MONITORPOWER,-1); break; case CONTROL_PANEL: WinExec("control.exe",SW_SHOWNORMAL); break; case MINIMIZE_ALL_WINDOWS: PostMessage(FindWindow("Shell_TrayWnd",NULL),WM_COMMAND,0x019F,0); break; case SHOW_TASK_LIST: PostMessage(GetDesktopWindow(),WM_SYSCOMMAND,SC_TASKLIST,0); break; case CONTROL_INSTALLPROGRAMS: WinExec("control.exe appwiz.cpl",SW_SHOWNORMAL); break; case CONTROL_SCREENSETTINGS: WinExec("control.exe desk.cpl",SW_SHOWNORMAL); break; case CONTROL_FINDFAST: WinExec("control.exe findfast.cpl",SW_SHOWNORMAL); break; case CONTROL_IESETTINGS: WinExec("control.exe inetcpl.cpl",SW_SHOWNORMAL); break; case CONTROL_LANGUAGE: WinExec("control.exe intl.cpl",SW_SHOWNORMAL); break; case CONTROL_GAMEDEVICES: WinExec("control.exe joy.cpl",SW_SHOWNORMAL); break; case CONTROL_MOUSE: WinExec("control.exe mouse",SW_SHOWNORMAL); break; case CONTROL_MULTIMEDIA: WinExec("control.exe mmsys.cpl",SW_SHOWNORMAL); break; case CONTROL_MODEM: WinExec("control.exe modem.cpl",SW_SHOWNORMAL); break; case CONTROL_NETWORK: WinExec("control.exe netcpl.cpl",SW_SHOWNORMAL); break; case CONTROL_PASSWORDS: WinExec("control.exe password.cpl",SW_SHOWNORMAL); break; case CONTROL_POWERSETTINGS: WinExec("control.exe powercfg.cpl",SW_SHOWNORMAL); break; case CONTROL_SCANERS_AND_CAMERAS: WinExec("control.exe sticpl.cpl",SW_SHOWNORMAL); break; case CONTROL_SYSTEM: WinExec("control.exe sysdm.cpl",SW_SHOWNORMAL); break; case CONTROL_TELEPHONE: WinExec("control.exe telephon.cpl",SW_SHOWNORMAL); break; case CONTROL_THEMES: WinExec("control.exe themes.cpl",SW_SHOWNORMAL); break; case CONTROL_DATATIME: WinExec("control.exe timedate.cpl",SW_SHOWNORMAL); break; case CONTROL_KEYBOARD: WinExec("control.exe keyboard",SW_SHOWNORMAL); break; case CONTROL_PRINTERS: WinExec("control.exe printers",SW_SHOWNORMAL); break; case CONTROL_FONTS: WinExec("control.exe fonts",SW_SHOWNORMAL); break; case CONTROL_SOUND: //WinExec("control.exe",SW_SHOWNORMAL); break; case CONTROL_USERS: //WinExec("control.exe",SW_SHOWNORMAL); break; case CONTROL_MAIL: //WinExec("control.exe",SW_SHOWNORMAL); break; case CONTROL_INSTALLHARDWARE: //WinExec("control.exe",SW_SHOWNORMAL); break; // Реакция на постороннее сообщение (на всякий случай) default: break; } }
void KTrashOnekeyTask::RunCleanFile() { CString strDirectory = _T(""); int nCleanCount = 0; ULONGLONG delTotalSize = 0; for (size_t i = 0; i < m_DirWorks.size() && !g_bStop[1]; i++) { if (TaskDesc.size() > i) { strDesc = TaskDesc.at(i); } m_nCurrentIndex = (int)i; DIRECTORYWORK& dirwork = m_DirWorks[i]; if (dirwork.bDefaultSelect) { BOOL bRunning = IsItemProcessRunning(dirwork.id); if (bRunning) { continue; } nCleanCount++; std::vector<CString>::iterator iter = dirwork.strDirectory.begin(); if (dirwork.strFriendName == L"»ØÊÕÕ¾") { SHQUERYRBINFO syscleInfo = { 0 }; syscleInfo.cbSize = sizeof(SHQUERYRBINFO); int iCount = SHQueryRecycleBin(NULL, &syscleInfo); if (syscleInfo.i64NumItems != 0) { SHEmptyRecycleBin(NULL, NULL, SHERB_NOCONFIRMATION | SHERB_NOPROGRESSUI | SHERB_NOSOUND); m_pCallBack->OnCleanEntry((int)strDesc.size(),strDesc.c_str(),(int)strDesc.size(),strDesc.c_str(), (double)syscleInfo.i64Size / ((1024) * (1024))); } delTotalSize += syscleInfo.i64NumItems; } for (; iter != dirwork.strDirectory.end(); iter++) { strDirectory = *iter; if (strDirectory.GetLength() <= 0) continue; BOOL bFilter = FALSE; for (size_t ivIndex = 0; ivIndex < dirwork.strFilt.size(); ivIndex++) { if (CFilterTool::Instance()._DoFindFuncMap(dirwork.strFilt.at(ivIndex),strDirectory)) { bFilter = TRUE; break; } } if (bFilter) { continue; } if (strDirectory[strDirectory.GetLength() - 1] != _T('\\')) strDirectory += _T('\\'); m_pCallBack->OnCleanEntry( (int)strDesc.size(),strDesc.c_str(), 0, NULL, (double)m_ulTotalJunkFileSize / ((1024) * (1024)) ); DeleteFileInDirectory( strDirectory, dirwork.strExtArray, dirwork.bRecursive ? 15 : 0, 1, &m_FileListData, m_nCurrentIndex, m_pCallBack, &DelFile, strDesc, dirwork.strFilt ); } } } m_pCallBack->OnEnd(); if (nCleanCount > 0) { REMOVE_EXAM_RESULT_ITEM RemoveItemInfo; RemoveItemInfo.uRemoveItem.RemoveItemInfo.Reset(); RemoveItemInfo.uRemoveItem.RemoveItemInfo.dwItemID = BkSafeExamItem::EXAM_TRASH; ::SendMessage(GetTrashNotifyHwnd(), MSG_APP_EXAM_SCORE_CHANGE, BkSafeExamItemExOperate::RemoveItem, (LPARAM)&RemoveItemInfo ); } delTotalSize += m_FileListData.m_nTotalsize; if (IsWindow(g_hWndKClear)) { LARGE_INTEGER llTemp; llTemp.QuadPart = delTotalSize; DWORD low = llTemp.LowPart; DWORD height = llTemp.HighPart; ::SendMessage(g_hWndKClear, WM_TRASH_ONEKEY_CLEAN, (WPARAM)height, (LPARAM)low); } nCleanCount = 0; }
void CRecycleBinDlg::OnBnClickedEmptybin() { SHEmptyRecycleBin(m_hWnd, NULL, SHERB_NOCONFIRMATION); CStandAloneDialog::OnCancel(); }