Ejemplo n.º 1
0
unsigned int __stdcall DistributeThread(void* parm)
{
    CSimpleArray<TYPEINFO> vec_typeInfo = *((CSimpleArray<TYPEINFO>* )parm);

    g_hRun = TRUE;

    //分流
    for (int i=0; i<vec_typeInfo.GetSize(); i++)
    {
        if (!g_hRun)
        {
            break;
        }
        int iType = vec_typeInfo[i].iType/1000;
        switch(iType)
        {
        case 1:
            IEClean(vec_typeInfo[i].iType,g_ieClean);
            break;
        case 2:
            WinsHistory(vec_typeInfo[i].iType,g_winHistory);
            break;
        case 3:
            RegClean(vec_typeInfo[i].iType,g_regClean);
            break;
        case 4:
            GarbClean(vec_typeInfo[i].iType,g_winHistory);
            break;
        case 5:
            switch(vec_typeInfo[i].iType)
            {
            case BROWSERSCLEAN_CHROME:
                g_chromClean.ScanChrome();
                break;
            case BROWSERSCLEAN_FIREFOX:
                g_firefoxClean.ScanFireFox();
                break;
            case BROWSERSCLEAN_MAXTHON:
                g_maxmonthClean.ScanMaxMonthClean();
                break;
            case BROWSERSCLEAN_TT:
                g_ttClean.ScanTT();
                break;
            case BROWSERSCLEAN_360:
                g_360Clean.Scan360Clean();
                break;
            case BROWSERSCLEAN_WORDWIN:
                g_wordWinClean.ScanWordWinClean();
                break;
            case BROWSERSCLEAN_MYIE2:
                g_SpecialApp.CleanMyIE2();
                break;
            case BROWSERSCLEAN_SOGO:
                g_sogoClean.ScanSogoHistory();
                break;
            case SOGO_ADVFORM:
                g_sogoClean.ScanSogoAdvForm();
                break;
            case SOGO_COOKIES:
                g_sogoClean.ScanSogoCookies();
                break;
            case SOGO_FORM:
                g_sogoClean.ScanSogoForm();
                break;
            case SOGO_PASS:
                g_sogoClean.ScanSogoPass();
                break;
            case BROWSERSCLEAN_OPERA:
                g_operaClean.ScanOperaHistory();
                break;
            case OPERA_COOKIES:
                g_operaClean.ScanOperaCookies();
                break;
            case OPERA_FORM:
                g_operaClean.ScanOperaForm();
                break;
            }
        case 6:
            switch(vec_typeInfo[i].iType)
            {
            case IECLEAN_PASSWORD:
                g_ieClean.ScanIEPass(IECLEAN_PASSWORD);
                break;
            case IECLEAN_SAVEFROM:
                g_ieClean.ScanIEFrom(IECLEAN_SAVEFROM);
                break;
            case MAXTHON_PASS:
                g_ieClean.ScanIEFrom(MAXTHON_PASS);
                break;
            case MAXTHON_FORM:
                g_ieClean.ScanIEPass(MAXTHON_FORM);
                break;
            case THEWORLD_PASS:
                g_ieClean.ScanIEFrom(THEWORLD_PASS);
                break;
            case THEWORLD_FORM:
                g_ieClean.ScanIEPass(THEWORLD_FORM);
                break;
            case CHROME_PASSWORD:
                g_chromClean.ScanChromePass();
                break;
            case CHROME_SAVEFROM:
                g_chromClean.ScanChromeFrom();
                break;
            case FIREFOX_PASSWORD:
                g_firefoxClean.ScanFirePass();
                break;
            case FIREFOX_SAVEFROM:
                g_firefoxClean.ScanFireFrom();
                break;
            case PASSANDFROM_360:
                g_360Clean.Scan360User(PASSANDFROM_360);
                break;
            case PASSANDFROM_TT:
                g_360Clean.Scan360User(PASSANDFROM_TT);
                break;
            case WORDWIN_USER:
                g_wordWinClean.ScanWordWinUser();
                break;
            case FIREFOX_COOKIES:
                g_firefoxClean.ScanFireFoxCookies();
                break;
            case CHROME_COOKIES:
                g_chromClean.ScanChormCookies();
                break;

            }
        case 9:
            switch (vec_typeInfo[i].iType)
            {
            case THUNDERDOWNLOADER:
                g_ThunderDownloader.ScanThunder();
                break;
            case FLASHGETDOWNLOADER:
                g_FlashGetDownloader.ScanFlashGet();
                break;
            case BITCOMETDOWNLOADER:
                g_BitcometDowmloader.ScanBitComet();
                break;
            case PPS_PLAYER:
                g_ppsPlayer.ScanPPS();
                break;
            case PPTV_PLAYER:
                g_pptvPlayer.ScanPPTV();
                break;
            case QVOD_PLAYER:
                g_qvodPlayer.ScanQVOD();
                break;
            case QQDOWNLOADER:
                g_qqDownloader.ScanQQDownloader();
                break;
            case FENGXING_PLAYER:
                g_fengxingClean.ScanFengxingPlayer();
                break;
            case SHESHOU_PLAYER:
                g_sheshouClean.ScanSheshouPlayer();
                break;
            case KUWOMUSIC_PLAYER:
                g_kuwoClean.ScanKuwoPlayer();
                break;
            case FUXINPDF_READER:
                g_FixitClean.ScanFixitPlayer();
                break;
            case ALIIM_IM:
                g_AliimClean.ScanAliim();
                break;
            case WINLIVE_MSG:
                g_Winlivemsg.ScanWinlivemsg();
                break;
            case XUNLEI7_DOWNLOADER:
                g_SpecialApp.ScanXunleiSearch(XUNLEI7_DOWNLOADER);
                break;
            default:
                AppHistory(vec_typeInfo[i].iType,g_appHistory,g_SpecialApp,CKClearProc::s_map_softwareinfo);
                break;
            }
        }

    }

    //清理空文件夹
    //if(g_bIsClean == TRUE)
    //{
    //	WCHAR* pEnv;
    //	pEnv = _wgetenv(_T("USERPROFILE"));
    //	if (pEnv !=NULL)
    //	{
    //		g_fileOpt.DeleteEmptyDirectories(pEnv);
    //	}
    //
    //}

//	g_regBack.RegisterExport(NULL);

    g_fnScanFile(g_pMain,0000,_T(""),0,0);
    g_fnScanReg(g_pMain,0000,_T(""),0,0);

    g_listProcessName.clear();
    _endthreadex(0);
    return 0;
}
Ejemplo n.º 2
0
int __cdecl _tmain(int argc, _TCHAR *argv[])
{
	HDEVINFO h = NULL;
	SP_DEVINFO_DATA dev_info_data;
	ULONG status = 0, problem = 0;
	BOOL bDevice = FALSE;

	if (IsWow64()) {
		logPrint("Your are runing 32bit VirtualMonitor on 64bit windows\n");
		logPrint("Please Download 64bit version of VirtualMonitor\n");
		return -1;
	}
	if (argc < 2 || !strcmp(argv[1], "-h")) {
		usage(argv);
		goto out;
	}

	GetWinVersion();
	if (!isSupport) {
		logPrint("Unsupported Windows system\n");
		goto out;
	}
	if (isVista || isWin7) {
		if (!IsUserAnAdmin()) {
			logPrint("Access Denied. Administrator permissions are needed to use the selected options.");
			logPrint("Use an administrator command prompt to complete these tasks.");
			goto out;
		}
	}

	if (!strcmp(argv[1], "-i")) {
		FixInfFile(INF);
	}
	h = GetDevInfoFromDeviceId(&dev_info_data, DRIVER_NAME);
	if (!strcmp(argv[1], "-i")) {
		if (h) {
			logPrint("Driver already installed\n");
			goto out;
		}
		if (!logInit()) {
			goto out;
		}
		logPrint("Installing driver, It may take few minutes. please wait\n");
		RegClean();
		InstallInf(INF);
		if (isVista || isWin7) {
			DisableMirror();
		}
		h = GetDevInfoFromDeviceId(&dev_info_data, DRIVER_NAME);
		if (!h) {
			logError("GetDevInfo Failed After Driver Installed\n");
		}
		GetDevStatus(h, &dev_info_data, &status, &problem);
		bDevice = DetectVirtualMonitor(FALSE);
		logInfo("Driver Status: %x, problem: %x\n", status, problem);
		if (!bDevice) {
			DetectVirtualMonitor(TRUE);
			logPrint("Driver installed Status: %x, problem: %x\n", status, problem);
			logPrint("Please reboot your system\n");
		} else {
			logPrint("Driver installed successful\n");
		}
		if (isVista || isWin7) {
			logPrint("Please reboot your system\n");
		}
	} else if (!strcmp(argv[1], "-u")) {
		if (!h) {
			logPrint("Driver not found\n");
		} else {
			if (!logInit()) {
				goto out;
			}
			UnInstallDriver(h, &dev_info_data);
			if (isVista || isWin7) {
				CleanOemInf();
			}
			RegClean();
			logPrint("Driver Uninstalled sucessful, Please Reboot System\n");
		}
	} else {
		usage(argv);
		goto out;
	}
out:
	if (g_logf)
		fclose(g_logf);
	if (h) {
			DestroyDevInfo(h);
	}
	exit(0);
}