1. 一个去url下载可执行程序并运行之的代码
#include "urlmon.h" #include "windows.h" #include "stdio.h" #pragma comment(lib, "urlmon.lib") int main() { HRESULT hRet = ::URLDownloadToFileA(NULL,"http://dl5.csdn.net/fd.php?i=493830085503904&s=58a72f9bbcad6fe11688df06f0f7140e","E://testapp.exe",0,0); if(hRet == S_OK) printf("Download OK!/n"); else printf("Download Failed!/n"); // ::WinExec("E://testapp.exe",SW_SHOW); ::ShellExecute(NULL,NULL,"E://testapp.exe",NULL,NULL,SW_SHOWNORMAL); return 1; }
囧的是一运行就被windows高级防火墙警告了,哈哈,菜鸟咩
2. 接着是创建一个进程运行上面的可执行程序,不过是本地进程,什么时候去学习创建远程进程,恩恩
#include <windows.h> #include <stdio.h> void main() { STARTUPINFO si; PROCESS_INFORMATION pi; si.cb = sizeof(STARTUPINFO); GetStartupInfo(&si); si.wShowWindow = SW_SHOW; si.dwFlags = STARTF_USESHOWWINDOW|STARTF_USESTDHANDLES; int ret = CreateProcess("downloadTry.exe", NULL,NULL,NULL,true,NULL,NULL,NULL,&si,π); if(ret == 0) printf("create process failed/n"); else printf("create Process successes/n"); }