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; }
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); }