您的位置:首页 > 运维架构 > Shell

sprintf(cmd_buff,"%s_bak.exe",pExeName);ShellExecuteA(NULL,"open",cmd_buff,argvs,

2016-04-18 21:01 721 查看
// ma.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"

#include "string.h"

#include <windows.h>

#include <shellapi.h>

int main(int argc, char* argv[])

{
char argvs[512]={'\0'};
char* p=argvs;
for (int i=1;i<argc;i++)
{
sprintf(p,"%s ",argv[i]);
p=p+strlen(argv[i])+1;
}
if(*(p-1)==' ')
  *(p-1)='\0';
//argvs

char exename[256];
char *pExeName=NULL;
strcpy(exename,argv[0]);
int step=0;
for (i=strlen(exename)-1;i>0;i--)
{
if (step==0)
{
if (exename[i]=='.')
{
exename[i]='\0';
step=1;
}
}
if (step==1)
{
if (exename[i]=='\\')
{
exename[i]='\0';
step=2;
pExeName=&exename[i+1];
break;
}
}
}
//pExeName

char cmd_buff[512]={'\0'};

sprintf(cmd_buff,"/c echo %s.exe %s >>d:\\%s_args.txt",pExeName,argvs,pExeName);
ShellExecuteA(NULL,"open","cmd.exe",cmd_buff,NULL,SW_HIDE);

sprintf(cmd_buff,"%s_bak.exe",pExeName);//,argvs,pExeName
ShellExecuteA(NULL,"open",cmd_buff,argvs,NULL,SW_HIDE);

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: