题目
使用CreateProcess函数可以创建进程,在文本文件中列出可执行的文件的名称,编写程序,自动运行文本文件中所列全部程序。在D盘创建readme.txt文件,输入以下内容:
calc.exe
notepad.exe
mspaint.exe
代码
#include"stdio.h"
#include"windows.h"
#include"string.h"
#include"stdlib.h"
int main(){
FILE *f;
char buf[1024];
int len;
if((f = fopen("D:\\readme.txt","r")) == NULL){
return 0;
}
while(fgets(buf,1024,f) != NULL){
char pre[50] = "C:\\Windows\\System32\\";
len = strlen(buf);
buf[len - 1] = '\0';
strcat(pre,buf);
autoStart(pre);
}
return 0;
}
void autoStart(char* ZW){
STARTUPINFO si = {sizeof(si)};
PROCESS_INFORMATION pi;
CreateProcess(ZW,NULL,NULL,NULL,FALSE,NULL,NULL,NULL,&si,&pi);
}
执行代码,自动打开计算器,记事本,绘图等软件。
解释
1.createProcess函数
使用可执行文件的路径便可以创建进程
2.从文本文件中读入数据到内存中,使用fopen函数和fgets函数将文本文件内容读到缓冲区中。
3.将读到的文件名称补全路径,并作为参数使用CreateProcess函数打开进程。