inno setup 判断系统有没有运行的程序函数

 

[Code]
//#############################IsNotProcessRun函数###################################
// 自定义函数,判断软件是否运行,参数为需要判断的软件的exe名称
//系统运行strExeName这个exe,返回真,否则返回false
function IsNotProcessRun(strExeName: String): Boolean;
// 变量定义
var ErrorCode: Integer;
var bRes: Boolean;
var strFileContent: AnsiString;
var strTmpPath: String;  // 临时目录
var strTmpFile: String;  // 临时文件,保存查找软件数据结果
var strCmdFind: String;  // 查找软件命令
begin
  strTmpPath := GetTempDir();
  strTmpFile := Format('%sfindSoftRes.txt', [strTmpPath]);
  strCmdFind := Format('/c tasklist /nh|find /c /i "%s" > "%s"', [strExeName, strTmpFile]);
  bRes := ShellExec('open', ExpandConstant('{cmd}'), strCmdFind, '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);  
  bRes := LoadStringFromFile(strTmpFile, strFileContent);
  strFileContent := Trim(strFileContent);
  if StrToInt(strFileContent)   > 0 then begin
    result:=true;
    end else result:=false;
  end;
//#############################IsNotProcessRun函数###################################
procedure InitializeWizard();
begin
    if IsNotProcessRun('httpd.exe') then begin
     MsgBox('httpd正在运行', mbInformation, MB_OK);
     end else
     MsgBox('httpd没有运行', mbInformation, MB_OK);
end;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章