利用代码来启动exe文件

来源:互联网 发布:淘宝实木家具排行 编辑:程序博客网 时间:2024/04/28 01:27


void ReadFile(CString FileName)//fileName路径文件中存放exe文件的路径,可以一次启动多个exe文件。

{   
//TCHAR szBuf[1024]; 
FILE* pfile = fopen( FileName, "r" ); // 打开文件 
exesl=0;
int i=0,n=0;
char buf[1024];
while (!feof(pfile))
{
fgets(buf, 1024, pfile);//读取一行(包括行末的回车)到buf中
n=strlen(buf);      
if(buf[n-1]=='\n')//去掉行末回车
buf[n-1]='\0';                                   
strcpy(a[i],buf);//每行存到相应的字符串数组中去
//AfxMessageBox(a[i]);
i++;
}
exesl=i;
//GetDlgItem( IDC_SEND )->SetWindowText( szBuf ); // 写控件 
fclose( pfile ); // 关闭文件 
}
void openexe()
{
int i;
for(i=0;i<exesl;i++)
{
//打开指定的应用文件
//AfxMessageBox(a[i]);
STARTUPINFO si = { sizeof(si) };
PROCESS_INFORMATION pi;
si.dwFlags = STARTF_USESHOWWINDOW; // 指定wShowWindow成员有效
si.wShowWindow = TRUE; // 此成员设为TRUE的话则显示新建进程的主窗口
BOOL bRet=CreateProcess (
NULL,// 不在此指定可执行文件的文件名
a[i],// 命令行参数
NULL,// 默认进程安全性
NULL,// 默认进程安全性
FALSE,// 指定当前进程内句柄不可以被子进程继承
CREATE_NEW_CONSOLE,// 为新进程创建一个新的控制台窗口
NULL,// 使用本进程的环境变量
NULL,// 使用本进程的驱动器和目录
&si,
&pi) ;
if(bRet)
{
// 不使用的句柄最好关掉
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
exeid[i]=pi.dwProcessId;
}
}
}