拷贝自身至系统路径(Win10需要以管理员身份运行,未包含提权代码)
#include <Windows.h> #include <iostream> #include <tchar.h> #include <shlwapi.h> #pragma comment(lib,"shlwapi.lib") int main() { //1.获取自身路径 TCHAR szSelfFileName[MAX_PATH] = {}; //自身路径 GetModuleFileName(nullptr,szSelfFileName,MAX_PATH);//获取自身路径 //2.获取系统路径 C://windows TCHAR szWindowPath[MAX_PATH] = {}; GetWindowsDirectory(szWindowPath,MAX_PATH); TCHAR szSystemPath[MAX_PATH] = {}; //system32 GetSystemDirectory(szSystemPath,MAX_PATH); //3.复制 StrCatW(szWindowPath,L"\\Demo.exe");//不写\\,会变成C:\\WindowsDemo.exe DWORD dwError; if(0 == CopyFile(szSelfFileName,//需要复制的文件 szWindowPath,//需要复制到的目录 TRUE //如果目标已经存在,不复制(TRUE),覆盖目标(FALSE) )) { dwError = GetLastError(); printf("%d\n",dwError); } return 0; }