#include <stdio.h>
#include <stdlib.h>
#include<string.h>
// 描述:execmd函数执行命令,并将结果存储到result字符串数组中
// 参数:cmd表示要执行的命令
// result是执行的结果存储的字符串数组
// 函数执行成功返回1,失败返回0
int execmd(char* cmd,char* result) {
char buffer[128]; //定义缓冲区
FILE* pipe = _popen(cmd, "r"); //打开管道,并执行命令
if (!pipe)
return 0; //返回0表示运行失败
while(!feof(pipe)) {
if(fgets(buffer, 128, pipe)){ //将管道输出到result中
strcat(result,buffer);
}
}
_pclose(pipe); //关闭管道
return 1; //返回1表示运行成功
}
//写出到硬盘以hostname为文件名,txt扩展名。
void outfile(char *hostname,char *dlp,char *result_dlp){
FILE *fp;
char *name;
char *url;
char uir[1024*4]="";
int i=strlen(hostname);
hostname[i-1]=0;
name=strcat(hostname,".txt");
url="\\\\192.168.0.8\\文件中转\\computer\\";
strcat(uir,url);
strcat(uir,name);
//printf(uir);
fp=fopen(uir,"w");
fprintf(fp,"%s\n%s",dlp,result_dlp);
fclose(fp);
}
int main(){
char result[1024*8]=""; //定义存放结果的字符串数组
char hostname[1024*4]="";
char department[1024*8]="";
char *str;
char *dlp;
int i;
char *result_dlp;
if(1==execmd("tasklist|find /i \"fcag.exe\"",result)){
str="fcag.exe";
result[8]=0;
dlp=result;
i=strcmp(str,dlp);
if(i==0){
result_dlp="DLP己安装";
}else{
result_dlp="DLP未安装";
}
printf("%s\t%s",dlp,result_dlp);
printf("\n");
}
if(1==execmd("hostname",hostname)){
printf(hostname);
}
outfile(hostname,dlp,result_dlp);
//system("pause"); //暂停以查看结果
}