DOS的批处理……
比如说,如果内存中有CCDOS,则执行某一程序……
如果内存中没有CCDOS,则不执行……
比如说,如果内存中有CCDOS,则执行某一程序……
如果内存中没有CCDOS,则不执行……
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
用 %errorlevel% 或&& 、|| 等就可以获得程序的运行成功或失败
//code by 森仔 2010.4.18
#include<windows.h>
#include<stdio.h>
#include <tlhelp32.h>
unsigned long judge_process(char *img_name);
int help_info();
int main(int argc,char *argv)
{
char imagename={0};
int flag;
if(argc!=2) return 0;
if(0==(strcmp(argv,"-h")))
{
help_info();
return 0;
}
flag=judge_process(argv);
if(flag==-1)
{
printf("%s 没被加载运行!",imagename);
return -1;
}
else
{
printf("%s 已被加载运行!",imagename);
return 0;
}
}
unsigned long judge_process(char *img_name)
{
HANDLE process_snap =
CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(process_snap == (HANDLE)-1)
return -1;
PROCESSENTRY32 process_enter;
process_enter.dwSize = sizeof(PROCESSENTRY32);
if(!Process32First(process_snap,&process_enter))
return -1;
do {
if(0 == strcmpi(img_name, process_enter.szExeFile))
return 0;
}while (Process32Next(process_snap,&process_enter));
if(NULL != process_snap)
CloseHandle(process_snap);
return -1;
}
int help_info()
{
char help_info=
"用法示例:\n"
"-h 显示此信息\n"
"prodetect qq.exe";
puts(help_info);
return 0;
}
@echo off&cls
set /p appname=请输入要检查的进程名:
wmic process list brief | findstr /i /c:"%appname%"
if %errorlevel% equ 0 echo "%appname% exist!"
if %errorlevel% equ 1 echo "%appname% not exist!"
pause