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

来源:互联网 发布:舞台音乐控制软件 编辑:程序博客网 时间:2024/06/06 00:28
// 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;
}

0 0