Einzelnen Beitrag anzeigen

Benutzerbild von XHelp
XHelp

Registriert seit: 12. Jul 2004
Ort: Duisburg
172 Beiträge
 
Delphi 6 Enterprise
 
#15

Re: Mein Programm mit einem anderen gleichzeitig starten

  Alt 29. Jul 2004, 01:55
Und wo kriegst du die schlefe her? Dafür muss du noch ein extra programm schreiben. Vielleicht passt das geisi nicht...k.a.
Wenn die Lösung passt, dann hier der quellcode dafür:

Delphi-Quellcode:
function FindTask(ExeFileName: string): boolean;
const
  PROCESS_TERMINATE=$0001;
var
  ContinueLoop: BOOL;
  FSnapshotHandle: THandle;
  FProcessEntry32: TProcessEntry32;
begin
  result:=false;
  FSnapshotHandle := CreateToolhelp32Snapshot
                     (TH32CS_SNAPPROCESS, 0);
  FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
  ContinueLoop := Process32First(FSnapshotHandle,
                                 FProcessEntry32);

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

  CloseHandle(FSnapshotHandle);
end;
Eigentlich wurde die funktion dazu gedacht, tasks zu killen, aber ich habe sie ein bischen verändert... aus diesem grund geht das vielleicht auch einfacher. Die prozedur funktioniert aber.

Jetzt braucht man mit einem Timer, oder so,
Delphi-Quellcode:
if FindTask('winamp3.exe')=true then
   ShellExecute(Handle,'open',PChar('c:\MySoft\BlaBla.exe'),nil,nil,SW_RESTORE);
aufzurufen und das war's.
Alex
Von allen Dingen die mir verloren gegangen,
hab ich am meisten an meinem Verstand gehangen
  Mit Zitat antworten Zitat