コード例 #1
0
ファイル: RecycleManager.cpp プロジェクト: JamesAC/rainmeter
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);
	}
}
コード例 #2
0
ファイル: cleanproc.cpp プロジェクト: dreamsxin/PcManager
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;
}
コード例 #3
0
//================================================================================================
//-----------------------------------------------------+++--> 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;
}
コード例 #4
0
ファイル: DelFile.cpp プロジェクト: xfxf123444/japan
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;
}
コード例 #5
0
ファイル: RecBinViewer.cpp プロジェクト: avrionov/explorerxp
void CRecBinViewer::EmptyHelper ()
{
	SHEmptyRecycleBin (m_hWnd, NULL, 0);
}
コード例 #6
0
ファイル: main.cpp プロジェクト: PavelQuash/qkc
// Запрос на выполнение команды под номером 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;
  }
}
コード例 #7
0
ファイル: trashonekey.cpp プロジェクト: dreamsxin/PcManager
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;
}
コード例 #8
0
void CRecycleBinDlg::OnBnClickedEmptybin()
{
    SHEmptyRecycleBin(m_hWnd, NULL, SHERB_NOCONFIRMATION);
    CStandAloneDialog::OnCancel();
}