/*一个控制台程序*/
#include "stdafx.h"
#include "Windows.h"#define FILENAME "joke.exe"
int main(int argc, char* argv[])
{
char file[512],sysdir[128];
::GetModuleFileName(NULL,file,sizeof(file));
::GetWindowsDirectory(sysdir,sizeof(sysdir));
strcat(sysdir,"\\");
strcat(sysdir,FILENAME);
if(strcmp(file,sysdir))
{
file://将自己复制到windows目录
if(!CopyFile(file,sysdir,FALSE))
return 0;
else
{
file://启动自己的拷贝
STARTUPINFO startUpInfo ;
PROCESS_INFORMATION procInfo;
memset(&startUpInfo,0,sizeof(STARTUPINFO));
startUpInfo.cb=sizeof(STARTUPINFO);
startUpInfo.lpReserved=NULL;
startUpInfo.lpDesktop=NULL;
startUpInfo.lpTitle=NULL;
startUpInfo.dwX=0;
startUpInfo.dwY=0;
startUpInfo.dwXSize=0;
startUpInfo.dwYSize=0;
startUpInfo.dwXCountChars=80;
startUpInfo.dwYCountChars=25;
startUpInfo.dwFillAttribute=0;
startUpInfo.dwFlags=STARTF_USECOUNTCHARS|STARTF_USESHOWWINDOW;
startUpInfo.wShowWindow=SW_SHOWDEFAULT;
startUpInfo.cbReserved2=0;
startUpInfo.lpReserved2=NULL;
startUpInfo.hStdError=NULL;
startUpInfo.hStdInput=NULL;
startUpInfo.hStdOutput=NULL; /*为什么这个控制台没有显示,而且当前进程结束了CreateProcess的进程也结束了
*/if(!CreateProcess(NULL,sysdir,NULL,NULL,TRUE,NORMAL_PRIORITY_CLASS,NULL,NULL
,&startUpInfo,&procInfo))
{
}
} }
MessageBox(NULL,file,"测试",MB_OK|MB_APPLMODAL);
MessageBox(NULL,file,"结束",MB_OK|MB_APPLMODAL);
return 0;
}
#include "stdafx.h"
#include "Windows.h"#define FILENAME "joke.exe"
int main(int argc, char* argv[])
{
char file[512],sysdir[128];
::GetModuleFileName(NULL,file,sizeof(file));
::GetWindowsDirectory(sysdir,sizeof(sysdir));
strcat(sysdir,"\\");
strcat(sysdir,FILENAME);
if(strcmp(file,sysdir))
{
file://将自己复制到windows目录
if(!CopyFile(file,sysdir,FALSE))
return 0;
else
{
file://启动自己的拷贝
STARTUPINFO startUpInfo ;
PROCESS_INFORMATION procInfo;
memset(&startUpInfo,0,sizeof(STARTUPINFO));
startUpInfo.cb=sizeof(STARTUPINFO);
startUpInfo.lpReserved=NULL;
startUpInfo.lpDesktop=NULL;
startUpInfo.lpTitle=NULL;
startUpInfo.dwX=0;
startUpInfo.dwY=0;
startUpInfo.dwXSize=0;
startUpInfo.dwYSize=0;
startUpInfo.dwXCountChars=80;
startUpInfo.dwYCountChars=25;
startUpInfo.dwFillAttribute=0;
startUpInfo.dwFlags=STARTF_USECOUNTCHARS|STARTF_USESHOWWINDOW;
startUpInfo.wShowWindow=SW_SHOWDEFAULT;
startUpInfo.cbReserved2=0;
startUpInfo.lpReserved2=NULL;
startUpInfo.hStdError=NULL;
startUpInfo.hStdInput=NULL;
startUpInfo.hStdOutput=NULL; /*为什么这个控制台没有显示,而且当前进程结束了CreateProcess的进程也结束了
*/if(!CreateProcess(NULL,sysdir,NULL,NULL,TRUE,NORMAL_PRIORITY_CLASS,NULL,NULL
,&startUpInfo,&procInfo))
{
}
} }
MessageBox(NULL,file,"测试",MB_OK|MB_APPLMODAL);
MessageBox(NULL,file,"结束",MB_OK|MB_APPLMODAL);
return 0;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货