Thema: Delphi Rave Report - PDF

Einzelnen Beitrag anzeigen

Martin99

Registriert seit: 15. Feb 2007
Ort: Witterswil
8 Beiträge
 
Delphi 2006 Enterprise
 
#4

Re: Rave Report - PDF

  Alt 15. Feb 2007, 16:32
Beispiel aus einem unserer Projekte:

Delphi-Quellcode:
   // Falls wir den AcrobatReader nicht schon selbst gestartet haben, müssen
   // wir uns vormerken, ob er von uns gestartet wird. Falls ja, müssen wir ihn
   // dann in Destroy wieder stoppen.
   if not haveAcrobatReaderStarted then
      haveAcrobatReaderStarted := (not isTaskRunning('AcroRd32.exe'));
   // Show Antragsformular as PDF
   ShellExecute(0, nil, PChar(AntragsformularPDF), nil, nil, SW_SHOWNORMAL)
Die Methode isTaskRunning ist so definiert:

Delphi-Quellcode:
function isTaskRunning(ExeFileName: string): boolean;
var
  ContinueLoop: BOOL;
  FSnapshotHandle: THandle;
  FProcessEntry32: TProcessEntry32;
begin
   if ExeFileName = 'then
      raise Exception.Create('isTaskRunning: ExeFileName muss angegeben werden');

   result := false;
   FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
   FProcessEntry32.dwSize := Sizeof(FProcessEntry32); //use FProcessEntry32.szPID to

   ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);

   while (integer(ContinueLoop) <> 0) and not Result do
   begin
      if (StrIComp(PChar(ExtractFileName(FProcessEntry32.szExeFile)), PChar(ExeFileName)) = 0)
         or (StrIComp(FProcessEntry32.szExeFile, PChar(ExeFileName)) = 0) then
         Result := true;
      ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
   end;

   CloseHandle(FSnapshotHandle);
end;
Martin
Delphi-Crack
  Mit Zitat antworten Zitat