Einzelnen Beitrag anzeigen

Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#7

Re: Externe Exe starten und dieser einen best. Kern zuweisen

  Alt 3. Okt 2007, 00:00
So, ich habs probiert aber leider nicht hinbekommen. Könnte gut an der späten Stunde liegen

Delphi-Quellcode:
procedure ExecuteProgramm(const PFileName: string);
var
  SEInfo: TShellExecuteInfo;
  ExitCode: DWORD;
  ExecuteFile: string;
  Handle: THandle;
begin
  ExecuteFile := '"' + PFileName + '"';
  FillChar(SEInfo, SizeOf(SEInfo), 0);
  SEInfo.cbSize := SizeOf(TShellExecuteInfo);

  with SEInfo do
  begin
    fMask := SEE_MASK_NOCLOSEPROCESS;
    Wnd := Application.Handle;
    lpFile := PChar(ExecuteFile);
    nShow := SW_SHOWNORMAL;
  end;

  Handle := SEInfo.Wnd;
  if ShellExecuteEx(@SEInfo) then
  {begin
    repeat
      Application.ProcessMessages;
      GetExitCodeProcess(SEInfo.hProcess, ExitCode);
    until (ExitCode <> STILL_ACTIVE) or
      Application.Terminated;
  end}
 else
  begin
    Application.MessageBox('Fehler beim Starten des Programms',
      'Hinweis', MB_OK + MB_ICONERROR);
  end;

  if Form1.checkbox1.checked then SetProcessAffinityMask(Handle, 0);
end;

procedure Aufruf;
begin
  ExecuteProgramm(Form1.File1.Text); // im Edit steht der Pfad
end;
Der Aufruf klappt, d.h. das Programm wird gestartet, nur die Zuweisung an den Kern funktioniert nicht...
Jonas
  Mit Zitat antworten Zitat